避免using 指示

来源:互联网 发布:mac 10.13降级到10.12 编辑:程序博客网 时间:2024/05/02 22:42
      using 指示注入来自一个命名空间的所有名字,它的使用是靠不住的:只用一个语句,命名空间的所有成员名就突然可见了。虽然这个方法看似简单,但也有它自身的问题。如果应用程序使用很多库,并且用using 指示使得这些库中的名字可见,那么,全局命名空间污染问题就重新出现。
      而且,当引入库的新版本的时候,正在工作的程序可能会编译失败。如果新版本引入一个与应用程序正在使用的名字冲突的名字,就会引发这个问题。
     另一个问题是,由using 指示引起的二义性错误只能在使用处检测,这个后来的检测意味着,可能在特定库引入很久之后才引发冲突,如果程序开始使用该库的新部分,就可能引发先前来检测到的冲突。
     相对于依赖于using指示,对程序中使用的每个命名空间名字使用using声明更好,这样做减少到命名空间中的名字数目,有using 声明引起的二义性错误在声明点而不是使用点检测,因此更容易发现和修正。
0 0