항목 26. 잠재적 모호성을 경계한다.
우선 잠재적 모호성이란? #include class A { public: A(const B&); }; class B { public: operator A() const; }; int main() { void f(const A&); B b; f(b); // B클래스의 operator A() 가 호출될까? // A클래스의 생성자 A() 가 호출될까? } 이런 경우를 잠재적 모호성이라 한다. 이유. 1. 컴파일 타임 중 예상치도 않은 오류가 날수 있다. 2. 라이브러리 파일의 이식성이 엄청나게 떨어진다. 해결방법 1. 네임스페이스를 사용한다.( 이 방법은 가독성을 떨어 뜨릴수 있다...) 2. 항상 디버깅이 가능한 코딩 습관을 길러야 한다; 3. 설계를 잘 하는 방법밖에 없다. 개인적인 생각 1. 이 이야기에..
책 정리/Effective C++ 2판
2008. 5. 10. 16:16
최근댓글