현재 블록
지역 변수와 함수 안 선언이 가장 먼저 보인다.
네임스페이스를 쓰면 이름이 충돌하지 않지만, using을 넓게 열면 같은 이름이 다시 한 호출 지점에 모일 수 있다.
지역 변수와 함수 안 선언이 가장 먼저 보인다.
`std::cout`처럼 네임스페이스를 지정하면 후보가 분명해진다.
특정 이름 하나만 현재 스코프 후보로 가져온다.
네임스페이스 전체를 열어 편하지만 모호성이 커진다.
header
포함한 모든 파일로 이름 후보가 퍼진다.
.cpp top
파일 내부 구현에서만 영향을 준다.
function
짧은 예제나 특정 함수 안에서만 편의성을 얻는다.
namespace { }
소스 파일 전용 헬퍼를 외부 이름 검색에서 숨긴다.
충돌 신호 같은 이름의 함수가 둘 이상 후보가 되면 호출이 모호해진다. 이때는 using을 줄이고 `library::name`처럼 출처를 명시한다.