네임 스페이스 선언
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{};
구문 오류가 없습니다 있지만 의미가 없습니다.
배경 정보를 보려면 네임 스페이스.
식별자는 원래 네임 스페이스 정의에 사용 되는 선언적 지역에서 고유 해야 합니다.식별자는 네임 스페이스의 이름입니다 및 해당 멤버를 참조 하는 데 사용 됩니다.
네임 스페이스 정의의 선언적 영역 본문입니다.본문은 중괄호로 묶어야 합니다 ({}) 고 선언 또는 정의 변수, 함수, 개체, 서식 파일 및 중첩 된 네임 스페이스가 포함 될 수 있습니다.선언에는 선언 목록 네임 스페이스의 멤버 라고 합니다.각 네임 스페이스 멤버의 이름을 자동으로 네임 스페이스 이름으로 정규화 된 및 해당 범위 결정 연산자.