关于命名空间
2012-04-15 10:29
148 查看
名字命名空间声明一块空间来存放全局的身份标识。
命名空间的成员必须使用命名空间的名字和操作符::
这将提供一层防止一个程序里不同文件的全局标识的名字冲突。
#include <iostream.h> using namespace std; namespace my_space//声明一个自己的命名空间,并定义属性 { int count=3; void print(); }; //实现 print() 方法 void my_space::print() { cout<<count<<endl; } /*实现main函数,两种情况: 1、定义的命名空间,在使用里面的成员变量或函数方法的时候 ,要加上命名空间的名称 2、在之前声明这个命名空间 */ /* 1 */ int main(int argc, char *argv[]) { //调用的时候也要加上 命名空间 my_space::print(); //修改定义的命名空间中的属性 my_space::count=5; my_space::print();//再次打印 return 0; } /* 2 */ //为了避免使用一个程序的命名空间的名称,使用的语句 using namespace my_space; int main(int argc, char *argv[]) { //在这种情况下,在调用方法的时候不必加上命名空间,但使用成员属性要加上命名空间 print(); my_space::count=5; print(); return 0; }
一个全局的命名空间可以是匿名的。在这个命名空间声明的标示符仅仅在这个文件是被识别的(好像一个静态的变量)
相关文章推荐
- 关于Javascript模块化和命名空间管理
- 关于flex4 的命名空间的介绍 。
- 关于Javascript模块化和命名空间管理的问题说明
- Struts2关于命名空间的详细讨论
- 关于JavaScript命名空间的一些心得
- 关于“程序集与命名空间”
- 关于Javascript模块化和命名空间管理
- C++ 第三篇 关于预处理器指示符和命名空间
- 关于php的命名空间
- 关于包含头文件而编译时却一个未定义错误的原因(未使用命名名字空间)
- 关于错误“System.Configuration”中不存在类型或命名空间名称“ConfigurationManager”
- 关于预编译头 protocol buffer 命名空间的问题
- 关于Struts2命名空间
- js关于命名空间的函数实例
- 关于类装载器命名空间的疑问?
- 关于命名空间 namespace的总结
- 关于JS的顶级,多级命名空间的一些心得
- 关于Javascript模块化和命名空间管理
- 关于flash builder 4 命名空间问题 【xmlns】
- 关于命名空间using的 声明