命名空间

来源:互联网 发布:java最新框架整合书籍 编辑:程序博客网 时间:2024/06/10 18:18

最近在开始学C++,想把博客作为自己的学习日记。

1、名字空间的定义格式`
namespace 名字空间名称
{}

namespace spaceA{       int x;       inty}//定义一个名字空间

`说明:名字空间可以在全局作用域或者其他作用域(另一个名字空间)内部定义,但是不能在函数或者类的内部定义。

2、名字空间内容的使用:
(1)名字空间名称::局部内容名,类似这种
namespace spaceA
{
int x;
inty
}//定义一个名字空间
.....
spaceA::x=10;//使用内容

(2)using namespace 名字空间名称

using namespace spaceA;x=100;;

(3)using 名字空间名称::局部内容名

using spaceA::y;

方式(1)没毛病,如果方式2中两个命名空间spaceA和spaceB都做了此声明,namespace spaceA //定义名字空间spaceA
{
int x;
int y;
}
namespace spaceB//定义名字空 int x;
int y;
int z;
}
来一个x=2会报错;
如果是(2)(3)方式(3)优先


spaceA::x=3;
spaceB::x=4;
using spaceA::x;
x = 2;
using namespace spaceB;
x = 100;//表示spaceA::x
cout << "spaceB::x=" << spaceB::x<< endl;
cout << "spaceA::x=" << spaceA::x << endl;
结果是   4和100
(欢迎大家批评指正,不吝赐教,我准备好了坚强的心脏。)

原创粉丝点击