命名空间
使用
格式:
1
2
3
namespace 标识符{
// 类,对象,变量,函数等
};使用:
使用限定名:标识符::名字
同一个命名空间可以在一个或多个文件下重复使用
引入
- 使用using namespace可以引入某个命名空间中的所有名称,这样就可以直接使用内部对应内容
- 使用using声明可以引入某个限定标识符,这样就不需要使用限定名了
- 引入声明区分全局与局部
- 不限定命名空间的均默认处于全局命名空间global,引入时只需要使用
::名字
嵌套
命名空间可以嵌套使用:
1
2
3
4
5
6
7
int a = 1;
namespace Space1{
int a = 2;
namespace Space2{
int a = 3;
}
}调用时需要明确指出引用哪个,否则会造成不明确,默认输出全局的
1
2
3
4
using Space1::a;
cout << a <<endl;
using Space1::Space2::a;
cout << a <<endl;