여기서 우리는 일부 네임스페이스를 확장하는 방법과 이름이 없거나 익명의 네임스페이스를 사용하는 방법을 볼 것입니다.
때때로 우리는 하나의 네임스페이스를 정의할 수 있습니다. 그런 다음 동일한 정의로 네임스페이스를 다시 작성할 수 있습니다. 첫 번째 멤버에 일부 멤버가 있고 두 번째 멤버에 다른 멤버가 있으면 네임스페이스가 확장됩니다. 해당 네임스페이스의 모든 구성원을 사용할 수 있습니다.
예시
#include <iostream> using namespace std; namespace my_namespace { int my_var = 10; } namespace my_namespace { //extending namespace int my_new_var = 40; } main() { cout << "The value of my_var: " << my_namespace::my_var << endl; cout << "The value of my_new_var: " << my_namespace::my_new_var << endl; }
출력
The value of my_var: 10 The value of my_new_var: 40
명명되지 않은 네임스페이스에는 이름이 없습니다. 속성이 다릅니다.
- 같은 프로그램에서 직접 사용할 수 있습니다.
- 고유 식별자를 선언하는 데 사용됩니다.
- 이 유형의 네임스페이스에서 네임스페이스의 이름은 컴파일러 자체에서 고유하게 생성됩니다.
- 이 파일은 생성된 파일에서 액세스할 수 있습니다.
- 이름 없는 네임스페이스는 변수의 정적 선언을 대체합니다.
예시
#include <iostream> using namespace std; namespace { int my_var = 10; } main() { cout << "The value of my_var: " << my_var << endl; }
출력
The value of my_var: 10