형변환
-
[const_cast] 제한적으로 활용하자개발/C·C++ 2021. 4. 27. 16:33
const_cast는 객체(변수)의 상수성을 없애주는 연산자입니다. 안정성 관점에서 없던 상수성이 생기는 건 괜찮지만 있던 상수성이 사라지는 건 위험합니다. 상수성을 부여해서 객체를 만든 이유가 있을 것이기 때문입니다. 그래서 const_cast는 정말 쓰지 않으면 안 되는 곳에, 고심해보고 사용해야 합니다. 다음은 연산자를 오버로딩해서 사용할 때 중복 코드를 방지하면서 코드 길이를 줄이는 과정에 const_cast가 사용되는 케이스입니다. class String { private: char* _chars; public: String(const char* chars) : _chars(new char[strlen(chars) + 1] { strcpy(_chars, chars); } char& operato..