항목 40 : 간접 변환을 피하라. ( Avoid providing implicit conversions. )
{ 무엇을 간접 변환이라고 하는가? 하나의 타입이 개발자가 눈치 못채게 다른 타입으로 변환 되는 것을 뜻하거나, 타입 변환이 정의하지 않아도 되는 것, 또는 변환 연산자 정의로 인하여, 변환되는 것을 뜻한다.(operator char*() 같은 것) 이것을 왜 피해야 하는가? 이것은 생성자의 호출이 예측하기 어렵게 만들고, 함수의 호출 역시 예측하기 어렵게 만들기 때문이다. 음~ 예를 들어 달라. #include class Widget { public: Widget( unsigned int ) { std::cout
책 정리/C++ Coding Standards : C++ 코딩의 정석
2009. 3. 30. 20:04
최근댓글