C++ 命名空间
2015-08-11 18:28
267 查看
我就是喜欢简简单单的表达。
使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突。Namespace 关键字的出现就是针对这种问题的。由于这种机制对于声明于其中的名称都进行了本地化,就使得相同的名称可以在不同的上下文中使用,而不会引起名称的冲突。我们也可以在自己的程序中创建自己的命名空间,这样可以对我们认为可能导致冲突的名称进行本地化。这点在我们创建类或者是函数库的时候是特别重要的。命名空间基础namespace 关键字使得我们可以通过创建作用范围来对全局命名空间进行分隔。本质上来讲,一个命名空间就定义了一个范围。定义命名空间的基本形式如下:namespace 名称{//声明}在命名空间中定义的任何东西都局限于该命名空间内。using关键字如果在程序中需要多次引用某个命名空间的成员,那么按照之前的说法,我们每次都要使用范围解析符来指定该命名空间,这是一件很麻烦的事情。为了解决这个问题,人们引入了using关键字。using语句通常有两种使用方式:using namespace 命名空间名称;using 命名空间名称::成员;
以上转载http://blog.chinaunix.net/uid-26874138-id-3215266.html=============================================================================文件:class.h
文件名:construction.cxx
![](http://s3.51cto.com/wyfs02/M00/71/47/wKioL1XKtrSgBqbLAAANbycwQao995.jpg)
总结:一个命名一个空间,内容随意重复互补干扰。
使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突。Namespace 关键字的出现就是针对这种问题的。由于这种机制对于声明于其中的名称都进行了本地化,就使得相同的名称可以在不同的上下文中使用,而不会引起名称的冲突。我们也可以在自己的程序中创建自己的命名空间,这样可以对我们认为可能导致冲突的名称进行本地化。这点在我们创建类或者是函数库的时候是特别重要的。命名空间基础namespace 关键字使得我们可以通过创建作用范围来对全局命名空间进行分隔。本质上来讲,一个命名空间就定义了一个范围。定义命名空间的基本形式如下:namespace 名称{//声明}在命名空间中定义的任何东西都局限于该命名空间内。using关键字如果在程序中需要多次引用某个命名空间的成员,那么按照之前的说法,我们每次都要使用范围解析符来指定该命名空间,这是一件很麻烦的事情。为了解决这个问题,人们引入了using关键字。using语句通常有两种使用方式:using namespace 命名空间名称;using 命名空间名称::成员;
以上转载http://blog.chinaunix.net/uid-26874138-id-3215266.html=============================================================================文件:class.h
#ifndef __CLASS_H__ #define __CLASS_H__ #include <iostream> using namespace std; namespace Class{ class construction{ public: int func(); }; int construction :: func(void) { cout << "Hi~\n"; return 0; } } namespace Class2{ class construction{ public: int func(void); }; int construction :: func(void) { cout << "Hi2~\n"; return 0; } } #endif /* __CLASS_H__ */
文件名:construction.cxx
#include "class.h" int main(void) { Class :: construction con; Class2 :: construction con2; con.func(); con2.func(); return 0; }
![](http://s3.51cto.com/wyfs02/M00/71/47/wKioL1XKtrSgBqbLAAANbycwQao995.jpg)
总结:一个命名一个空间,内容随意重复互补干扰。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- C++联合体转换成C#结构的实现方法
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法
- C++中调用Lua函数实例
- Lua和C++的通信流程代码实例
- C与C++之间相互调用实例方法讲解
- C++ Custom Control控件向父窗体发送对应的消息
- C++中拷贝构造函数的应用详解