namespace MyNamespace {
int myVar = 42; // 변수 선언
void myFunction() {
cout << "Hello, Namespace!" << endl;
}
}
// MyNamespace 안의 myVar 변수 사용
cout << MyNamespace::myVar << endl;
// MyNamespace 안의 myFunction 호출
MyNamespace::myFunction();
// 네임스페이스 명시 없이 사용
using namespace MyNamespace;
cout << myVar << endl;
myFunction();
using MyNamespace::myVar;
// myVar만 사용
cout << myVar << endl;
C++ 표준 라이브러리는 모두 std라는 네임스페이스에 정의되어 있다. 예를 들어 std::cout, std::cin 등이 여기에 해당된다.
using namespace std;
// std::cout을 생략 가능
cout << "Hello, World!" << endl;
namespace에 이름을 생략하면 해당 네임 스페이스의 요소는 파일 내에서만 사용 가능(로컬 네임스페이스)
namespace {
// 이 변수는 파일 내에서만 접근 가능
int localVar = 10;
}