C++名字空间
2015-08-25 09:15
288 查看
当引入一个全局的using指令时(using namespace std等),就已经为那个文件打开了该名字空间。这对于一个实现文件(.cpp)来说是一个好方法,因为只有该文件编译结束时,using指令才会起作用,它不会影响到任何其他文件。
如果发现一个实现文件中使用太多的using指令而产生名字冲突(多个名字空间重复定义),就要对文件做简单的改变,使用明确的限定(使用的地方用std::cout等)或者using声明(在文件开始的地方声明using std::cout)来消除名字冲突,这样不用修改其他实现文件。
头文件的情况不一样,不要把一个全局的using指令引入到一个头文件中,因为那样意味着包含这个头文件的任何其他头文件也会打开这个名字空间,所以在头文件中,最好使用明确的限定或者被限定在一定范围内的using指令和using声明。
如果发现一个实现文件中使用太多的using指令而产生名字冲突(多个名字空间重复定义),就要对文件做简单的改变,使用明确的限定(使用的地方用std::cout等)或者using声明(在文件开始的地方声明using std::cout)来消除名字冲突,这样不用修改其他实现文件。
头文件的情况不一样,不要把一个全局的using指令引入到一个头文件中,因为那样意味着包含这个头文件的任何其他头文件也会打开这个名字空间,所以在头文件中,最好使用明确的限定或者被限定在一定范围内的using指令和using声明。
相关文章推荐
- VC++编译链接原理与过程
- C++中的常量定义小结
- c++ 头文件中定义函数的优缺点
- 快速排序
- C语言中一些将字符串转换为数字的函数小结
- 对比分析C语言中的gcvt()和ecvt()以及fcvt()函数
- C++中的explicit关键字
- C++笔试总结-面试笔试常考题型(一)指针-引用-宏定义-sizeof
- Hellowr
- C语言的标准库概述
- 【C语言探索之旅】第三部分第三课:SDL开发游戏之显示图像
- 【C语言探索之旅】第三部分第三课:SDL开发游戏之显示图像
- C语言编写控制台下PE分析工具(一)
- C语言基础--二维数组
- c++ 构造函数初始化列表
- C++类构造函数初始化列表
- 【C语言】预处理指令—文件包含
- 【C++专题】static_cast, dynamic_cast, const_cast探讨
- Effective C++——导读(第0章)
- C++小技巧之头文件保护符