항목 57 : 타입과 그의 비멤버 함수는 같은 네임스페이스 내에 넣어라. ( Keep a type and its nonmember function interface in the same namespace. )
{ 클래스의 일부가 되게끔 디자인된 비멤버 함수의 경우, 클래스와 같은 네임스페이스 내에 넣어야 한다는 것이다. 왜!? C++의 이름 검색 시스템 때문이다. 이 이름 검색 시스템은 Koenig lookup 라고도 불린다. 해당 사항을 자세히 말해 줄 수 있는가? 물론 말해 줄 수 있다. Exceptional C++ 항목 31 ~ 항목 34 에 무척 자세히 나와 있고, ikpil.com 에서 검색해도 어느 정도 나오니 한번 검색해 봄이 좋을 것 같다. 넣게 되면 무엇이 좋아 지는가? 최소한 컴파일러가 혼란을 겪는 것을 줄여 주고, 개발자 또한 혼란을 겪는 것을 줄여 줄 수 있다. 간략하게만 소개해 줄 수 있나? #include void swap( std::string const& str1, std::str..
책 정리/C++ Coding Standards : C++ 코딩의 정석
2009. 4. 8. 19:49
최근댓글