namespace_alias — 네임스페이스 별칭
namespace_alias — 네임스페이스 별칭
**네임스페이스 별칭(namespace alias)**은 프로그래머가 네임스페이스에 대체 이름을 정의할 수 있게 해줘요. 길거나 깊게 중첩된 네임스페이스의 편리한 단축키로 흔히 사용돼요.
foo::bar::baz::qux처럼 깊이 중첩된 네임스페이스를 매번 다 쓰면 코드가 지저분해져요. 별칭을 만들어두면 fbz::qux처럼 짧게 쓸 수 있어서 가독성이 좋아져요.
출처: cppreference
본문
네임스페이스 별칭은 프로그래머가 네임스페이스에 대체 이름을 정의할 수 있게 해줘요. 길거나 깊게 중첩된 네임스페이스의 편리한 단축키로 흔히 사용돼요.
문법 (Syntax)
namespace alias_name = ns_name;
namespace alias_name = ::ns_name;
namespace alias_name = nested_name::ns_name;
namespace alias_name = splice-specifier;
alias_name— 식별자ns_name— 네임스페이스나 네임스페이스 별칭을 이름 짓는 (가능하면 한정된) 식별자splice-specifier— 전역 네임스페이스가 아닌 네임스페이스를 지정하는 splice 지정자
설명 (Explanation)
새 별칭 alias_name은 ns_name(또는 splice 지정자가 가리키는 네임스페이스)에 접근하는 대체 방법을 제공해요.
alias_name은 이전에 사용되지 않은 이름이어야 해요. alias_name은 도입된 범위가 지속되는 동안 유효해요.
예제 (Example)
#include <iostream>
namespace foo
{
namespace bar
{
namespace baz
{
int qux = 42;
}
}
}
namespace fbz = foo::bar::baz;
int main()
{
std::cout << fbz::qux << '\n';
}
출력:
42
foo::bar::baz라는 세 단계 중첩 네임스페이스를 fbz라는 별칭으로 줄여서 fbz::qux로 접근했어요. 코드가 훨씬 간결해졌죠.
같이 보기
- 네임스페이스
- 타입 별칭