C++之命名空间

来源:互联网 发布:linux nfs 挂载 编辑:程序博客网 时间:2024/05/02 01:01

命名空间的目的主要是为了解决大项目数人开发时的变量名冲突问题。且命名空间只能在全局空间中定义,命名空间相当于对全局空间的划分,不能放到函数里,例如:

using namespace std;

相当于打开了std的包裹,若没有using namespace std; 使用cin或者cout必须前面加std::的格式。
自定义命名空间:

namespace Space{    int x;    int y;    namespace Other{    //此时的Other相当于嵌套的命名空间             int a;             int b;    }}namespaces Space{  //命名空间是没有冲突的,相当于与上面的Space合并    int m;    int n;}int main(){    Space::x = 10;    //可以单个使用作用域表示    using namespace Space;    //也可以整个打开命名空间    y = 20;    //此时的y是Space命名空间里的    using namespace Space::Other;    a  =30;  //要想使用a必须先将Other的命名空间打开}

命名空间同样应用于协同开发,因为命名空间不会发生冲突,同名的命名空间相当于合并命名空间。
注意:命名空间不能取代头文件,因为C++向前兼容C,所以头文件不能被取代。

0 0