본문 바로가기

namespace

(3)
항목 40 : 네임스페이스 Part 2 : 네임스페이스로 마이그레이션(migration) (난이도 : 4) 저번 항목에 연이은 네임스페이스 이야기이다. 역시 알아두면 무척이나 유용하기에, 재미있게 읽을 수 있었다. 언제나 그렇듯 네임스페이스를 알고 있다면, 어떻게 사용하는게 좋을까? 에 대한 논의이다. 저번 항목에서 using 키워드 하나로 사용하기 꺼려진다면, 당신은 루키, 떠오르는 샛별!, 그 느낌 그대로 계속 정진해야겠다. .. 알면 알수록 .. 점점 키워드라든지 어떤 편한것에 대해서 점점 아예 사용하기 꺼려진다. 타이핑 몇번(using 키워드의 타이핑)만 해서 편해지는 것 보다, 타이핑 몇번(std:: 로 직접 호출)하는것이 더 좋겠다. 이번 항목은 이런 꺼려지는 내용들에 대한 마지막 정리이다. 네임스페이스로 마이그레이션은 책을 통해 보면 금방 이해하니 예제코드는 제외하고.. 요령만 정리하자면 1. u..
항목 39 : 네임스페스 Part 1 : using 선언과 using 지시자 (난이도 : 2) More Exceptional C++ 의 7단원 "그 밖의 주제들" 은 대체로 난이도가 낮고, 많이 알려져 있는 사실들이 있어서, 술술 읽고 넘어간다. 이번 항목은 잘 사용하지 않았던 네임스페이스를 지금에서야 사용하면서 그 편리함에 탄복했던 나에게 절실히 필요했던 항목이기도 하다. C++ 에서 컴파일러가 이름을 찾는 규칙에 대해서는 "The C++ Programming Language" 에서 자세히 나와 있어, 언제 기회가 생기면 정리하도록 하고, 우선 More Exceptional C++ 에서 나온 주제를 정리하도록 한다. 잠깐, 꼭 이름 찾기 규칙을 알고 넘어가야 할 것이다. 질문 using 선언과 using 지시자는 무엇이고, 어떻게 사용되는가? 둘 중 순서에 영향을 받는 것은? 해설 C++ 표준화..
항목 31 : 이름 검색과 인터페이스 - 파트 1 (난이도 : 9½) 이 책 자체가 Exceptional 이름을 갖고 있듯이, 총 4파트에 걸쳐 "예외적인 네임 스페이스"를 설명하고 있는 항목이다. 다음 코드를 보고, 어느 함수가 호출 될지 파악해 보자. #include namespace A { struct X { int a; }; struct Y { int b; }; void f( int i) { std::cout