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_namens_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로 접근했어요. 코드가 훨씬 간결해졌죠.

같이 보기

  • 네임스페이스
  • 타입 별칭

더 알아보기 (Learn more)

cppreference