C++中namespace的用法
来源:互联网 发布:计算机专业知乎 编辑:程序博客网 时间:2024/06/05 08:44
C++中采用的是单一的全局变量命名空间。在这单一的空间中,如果有两个变量或函数的名字完全相同,就会出现冲突。当然,你也可以使用不同的名字,但有时我们并不知道另一个变量也使用完全相同的名字;有时为了程序的方便,必需使用同一名字。比如你定义了一个变量string user_name, 有可能在你调用的某个库文件或另外的程序代码中也定义了相同名字的变量,这就会出现冲突。命名空间就是为解决C++中的变量、函数的命名冲突而服务的。解决的办法就是将你的strTemp变量定义在一个不同名字的命名空间中。就好像张家有电视机,李家也有同样型号的电视机,但我们能区分清楚,就是因为他们分属不同的家庭。
v命名空间将全局作用域分成不同的部分
v不同命名空间中的标识符可以同名而不会发生冲突
v命名空间可以相互嵌套
v全局作用域也叫默认命名空间
vC++命名空间的使用:
v使用整个命名空间:usingnamespacename;
v使用命名空间中的变量:usingname::variable;
v使用默认命名空间中的变量:::variable
下面看个简单的例程:
下面看个简单的例程:
#include <stdio.h>namespace First{ int i = 0;}namespace Second{ int i = 1; namespace Internal { struct P { int x; int y; }; }}int main(){ using namespace First; using Second::Internal::P; printf("i = %d\n", i); //first 中的i 打印0 printf("i = %d\n", Second::i);//Second 中的i 打印1 P p = {2, 3}; printf("p.x = %d\n", p.x); //访问namespace Second中的namespace Internal printf("p.y = %d\n", p.y); printf("Press any key to continue..."); getchar(); return 0;}
1 0
- struts2中namespace的用法
- Struts2中namespace的用法
- Struts2中namespace的用法
- Struts2中namespace的用法
- Struts2中namespace的用法
- Struts2中namespace的用法
- C++中namespace的用法
- struts2中namespace的用法
- C++中namespace的用法
- Struts2中namespace的用法
- Struts2中namespace的用法
- Struts2中namespace的用法
- c++中namespace的用法
- php中namespace和use的用法
- namespace的简单用法
- namespace 的用法
- C++ namespace的用法
- namespace的用法
- MS Word VS Latex :Word样式和段落…
- 色盲检查图是一种伪科学,不…
- 正则表达式引擎
- um用例图关系
- 去耦合电容
- C++中namespace的用法
- vxworks Shell下常用的命令
- 程序员究竟该如何提高效率
- Jamon
- 2013.12.28
- Vs2010 MFC 简单制作过程中的问题
- Word 和Latex的优势对比---转自知乎
- 如何在PCB设计中加强防干扰能力
- Yii分页方法(翻页方法)搜集