最近在开始学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
来一个x=2会报错;
{
int x;
int y;
}
namespace spaceB//定义名字空 int x;
int y;
int z;
}
如果是(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