#include <iostream> //预处理头文件 标准输入输出流库
//定义命名空间a
namespace a {
int x = 10; //在a命名空间中的整型变量x
}
//定义命名空间b
namespace b {
int x = 20; //在b命名空间中的整型变量x
}
int main(){
int x = 30;
std::cout << "x:\t" << x << "\n";
std::cout << "b::x:\t" << b::x << "\n";
std::cout << "a::x:\t" << a::x; //输出a命名空间中的x变量
std::cout << std::endl; //刷新缓冲区并换行
return 0;
}
输出:
x:30
b::x: 20
a::x: 10
本程序采用了命名空间后,三个同名的变量x处于不同的空间中,
因此它们不会产生冲突。
如何调用命名空间中的变量呢?
命名空间标识符+作用域标识符+变量名。
如本程序中调用a命名空间中的x整型变量方式为:a::x 即可。