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
- C/C++:命名空间
- C++-namespace(命名空间)
- C++-namespace(命名空间)
- C++namespace命名空间
- C#.Net命名空间
- C++_命名空间
- C++namespace命名空间
- 【C++】命名空间
- [C++]namespace命名空间
- C\C++命名空间
- C++:命名空间(namespace)
- [c++]命名空间
- <C++>2.命名空间
- 命名空间之全名命名空间
- XML之命名空间
- 读书笔记之 -->"命名空间"
- C++之命名空间
- C++之命名空间
- 第10.11补充-2
- 深入理解JVM07--虚拟机类加载机制--类加载过程
- flume学习(二):如何找到cm安装的flume的配置文件
- android点击菜单子项无响应的解决办法listView
- 开胃小菜—面向对象基础
- C++之命名空间
- JAVA设计模式初探之适配器模式
- flume学习(三):Flume Interceptors的使用
- hdu 5690 All X
- C++primer_第五章_语句_学习跟踪
- C++中的name mangling
- 异常点检测原理和系统设计
- flume学习(四):Flume Channel Selectors使用
- C++primer_第六章_函数_学习跟踪