네임스페이스 범위

네임스페이스

프로젝트가 커지면 이름 충돌을 피하기 위해 관련 코드를 namespace 안에 두고, 필요한 범위에서만 이름을 가져온다.

이름 해석

범위 제어

선언

관련 함수와 타입을 namespace 블록 안에 넣어 논리적 범위를 만든다.

범위 지정

A::foo처럼 어느 이름공간의 항목인지 명확하게 지정한다.

using 노출 범위

편리하지만 전역 using은 이름 충돌 가능성을 다시 키울 수 있다.

namespacesymbol::call
이름 소속

네임스페이스의 목표는 코드를 짧게 쓰는 것이 아니라, 이름의 소속을 명확히 해 충돌과 오해를 줄이는 것이다.