Share via


네임 스페이스 선언

A 네임 스페이스 선언 식별 하 고 사용자가 선언 된 네임 스페이스에 고유한 이름을 할당 합니다.

namespace identifier

설명

네임 스페이스와 같은 많은 프로그램 및 라이브러리 이름 충돌이 발생 하는 문제를 해결 하기 위해 사용 됩니다.프로그래머는 네임 스페이스 기존 구성 요소와 충돌 하지 않고 새 소프트웨어 구성 요소 및 라이브러리를 개발 하는 데 사용할 수 있습니다.

예를 들면 다음과 같습니다.

// namespace_declaration1.cpp
namespace X
{
   int i;
   double j;
}
int main()
{
   X::i++;
}

네임 스페이스 정의 대 한 구문은 다음과 같습니다.

namespace identifier
{
   [ declaration-list ]
}

A 네임 스페이스 정의 중첩 될 수 있습니다 네임 스페이스 정의.모든 네임 스페이스 정의 파일 범위 또는 즉시 안에 다른 표시 합니다 네임 스페이스 정의.

예를 들면 다음과 같습니다.

// namespace_declaration2.cpp
// C2870 expected
namespace A
{
   int j = 3;
   int f(int k);
}

namespace Outer
{
   int n = 6;
   int func(int num);

   namespace Inner
   {
      float f = 9.993;
   }
}

int main()
{
   namespace local   // C2870: not at global scope
   {
   }
}

선언적 지역 달리 네임 스페이스의 정의 통해 여러 부분 단일 변환 단위로 나눌 수 있습니다.

// namespace_declaration3.cpp
namespace A
{
   // declare namespace A variables
   int i;
   int j;
}

namespace B
{
}

namespace A
{
   // declare namespace A functions
   void func(void);
   int int_func(int i);
}

int main()
{
}

연속 네임은 초기 정의한 후,이 이런 식으로 계속 될 때 호출 되는 확장 네임 스페이스 정의.해당 네임 스페이스의 정의 원래 이름으로 알 수 있는 원래 네임 스페이스 정의.

이 표기법의 사용 긴 이름을 가진 또는 대형 프로그램의 번거로운 될 수 있습니다.선언을 사용 하 여, 지시문을 사용 하 여, 및 네임 스페이스 별칭 참조 네임 스페이스의 멤버를 간단한 방법을 제공 합니다.

A 네임 스페이스 선언을 새 네임 스페이스, 이름 없는 네임 스페이스를 확장된 네임 스페이스 정의 하는 것을 여부 합니다 수 제공 네임 스페이스 본문 내에서 중괄호 안에.문

namespace X;

구문 오류가입니다.문

namespace X{};

구문 오류가 없습니다 있지만 의미가 없습니다.

배경 정보를 보려면 네임 스페이스.

식별자는 원래 네임 스페이스 정의에 사용 되는 선언적 지역에서 고유 해야 합니다.식별자는 네임 스페이스의 이름입니다 및 해당 멤버를 참조 하는 데 사용 됩니다.

네임 스페이스 정의의 선언적 영역 본문입니다.본문은 중괄호로 묶어야 합니다 ({}) 고 선언 또는 정의 변수, 함수, 개체, 서식 파일 및 중첩 된 네임 스페이스가 포함 될 수 있습니다.선언에는 선언 목록 네임 스페이스의 멤버 라고 합니다.각 네임 스페이스 멤버의 이름을 자동으로 네임 스페이스 이름으로 정규화 된 및 해당 범위 결정 연산자.

참고 항목

참조

네임 스페이스 (C++)

C + + 키워드

명명 되지 않은 네임 스페이스