一、基本语法
namespace 命名空间名字
{
}
注意事项:在定义命名空间时,结束不要加分号,示例如下:
namespace model1
{
int i;//当前变量i只对命名空间model1可见,它的作用域被限定在model1
int j;
}
namesapce model2
{
int i;//当前变量i只对命名空间model2可见,它的作用域被限定在model2
}
由于使用命名空间后,变量的作用域被限定,所以在使用变量时,就需要通过特定方式来完成。需要用到“::”操作符,“::”操作符是域解析操作符。例如:
model1::i = 1;
model2::i = 2;
除了直接使用域解析操作符,还可以采用using声明(using declaration),例如:
using model1::i;
i= 0; //使用model1定义的变量i
model2::i= 10; //使用model2定义的变量i
二、命名空间成员使用方法总结
方法一 :命名空间名::成员 比如:spaceA::a;
使用using 可以使得命名空间中的成员暴露外部 ,以致可以使用该成员
方法二: using 命名空间名::成员 ----> 把指定的成员暴露给外部
比如:using spaceA::a;
方法三: using namespace 命名空间名 —> 将其所有成员暴露给外部
比如: using namespace spaceA;
三、命名空间嵌套
namespace 命名空间1
{
int a;
namespace 命名空间2
{
int a;
}
}