避免using 指示
来源:互联网 发布:mac 10.13降级到10.12 编辑:程序博客网 时间:2024/05/02 22:42
using 指示注入来自一个命名空间的所有名字,它的使用是靠不住的:只用一个语句,命名空间的所有成员名就突然可见了。虽然这个方法看似简单,但也有它自身的问题。如果应用程序使用很多库,并且用using 指示使得这些库中的名字可见,那么,全局命名空间污染问题就重新出现。
而且,当引入库的新版本的时候,正在工作的程序可能会编译失败。如果新版本引入一个与应用程序正在使用的名字冲突的名字,就会引发这个问题。
另一个问题是,由using 指示引起的二义性错误只能在使用处检测,这个后来的检测意味着,可能在特定库引入很久之后才引发冲突,如果程序开始使用该库的新部分,就可能引发先前来检测到的冲突。
相对于依赖于using指示,对程序中使用的每个命名空间名字使用using声明更好,这样做减少到命名空间中的名字数目,有using 声明引起的二义性错误在声明点而不是使用点检测,因此更容易发现和修正。
而且,当引入库的新版本的时候,正在工作的程序可能会编译失败。如果新版本引入一个与应用程序正在使用的名字冲突的名字,就会引发这个问题。
另一个问题是,由using 指示引起的二义性错误只能在使用处检测,这个后来的检测意味着,可能在特定库引入很久之后才引发冲突,如果程序开始使用该库的新部分,就可能引发先前来检测到的冲突。
相对于依赖于using指示,对程序中使用的每个命名空间名字使用using声明更好,这样做减少到命名空间中的名字数目,有using 声明引起的二义性错误在声明点而不是使用点检测,因此更容易发现和修正。
0 0
- 避免using 指示
- 避免using 指示
- using指示符
- using指示符
- using指示与作用域
- using指示的作用域
- 关于using声明和using指示符
- using 声明和using指示的区别
- 重载和using声明、using指示
- C++using声明和using指示
- 一 : using声明、using指示及其作用域详解
- 一 : using声明、using指示及其作用域详解
- 立此存照(18)[C++]using声明与using指示的区别
- 一 : using声明、using指示及其作用域详解
- 命名空间、using声明和using指示【附送彩蛋】
- using声明和using指示、std::move和std::forward
- using声明、using指示及其作用域详解
- 用using指示符声明namespace的一点体会
- python连接mysql 查询数据
- NYOJ_60谁获得了最高奖学金
- 高级语法-否定
- Reverse Text
- Eclipse改变字体大小
- 避免using 指示
- Eclipse打JAR包,插件FatJar安装与使用
- python 定时做快照的脚本
- 我的第一篇博客__hello world
- 改变 CListCtrl、CHeaderCtrl 高度、字体、颜色和背景
- opengl中关于平移旋转坐标系问题
- Android文本阅读器,SD卡文本阅读
- LogCat:Unable to open log device ‘/dev/log/main’: No such file or directory
- 6款Java转C#的最佳工具[比较有用]