命名空间
命名空间(Namespace), 是为防止多个厂商的类库的命名冲突而提供的工具,用于批量打包成员,以便更好的控制名称的作用域。
命名空间的定义
namespace 空间名{
//成员
}
命名空间可位于全局,也可位于被另一个命名空间所嵌套,但不能位于代码块中。
访问命名空间成员
使用域解析运算符::
进行访问,格式为空间名::成员名
。例:
namespace tree{
int leaf;
}
//访问 tree::leaf
using
using
声明
用于从某个命名空间内引入某个成员,之后可直接通过成员名使用此成员。类似于Python中的from module import member
。
using
声明的生存周期继承自所在作用域。
using 空间名::成员名;
例:
namespace tree{
int leaf;
}
using tree::leaf;
//之后即可直接使用leaf
using
编译指令
用于一次性从某命名空间引入所有成员,之后可以直接通过成员名使用此空间内的所有成员。类似于Python中的from module import *
。
using
编译指令的生存周期继承自其所在作用域。
using namespace 空间名;
最典型应用即:
using namespace std;