C++命名空间(namespace)的使用

一、基本语法

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;
	}
}

你可能感兴趣的:(C++,c++,namespace,命名空间)