默认命名空间、匿名命名空间。
1、定义一个命名空间
namespace spaceName{
//code
void func1(void){}
};
使用命名空间spaceName内的func1
命名空间同一个文件中
方法一:使用前首先声明使用func1的命名空间。
using namespace spaceName;
方法二:声明spaceName内的func1方法
方法三:直接引用
spaceName::func1();
命名空间在另外的文件中
要先声明
namespace spaceName{void func1();};
2、默认命名空间
3、匿名命名空间
用法:不写名字
特点是其他文件不能引用这个空间内的内容,只能被所在的文件内引用,有点类似于C中的static。
namespace
{
void func2(void);
};
4、嵌套命名空间
namespace NS1{
namespace NS2
{
void func2(void){
}
}
void func1(void){
}
}
使用
NS1::NS2::func2();