美文网首页
C++命名空间相关概念

C++命名空间相关概念

作者: 飘曳的舟 | 来源:发表于2019-01-23 17:58 被阅读0次

    变量作用域分为三类:

    1. 声明域 2. 潜在作用域 3. 作用域

    声明域> 潜在作用域 > 作用域

    命名空间是一种描述逻辑分组的机制,全局变量现在可以认为是位于全局命名空间中

    子命名空间必须在父命名空间内部定义,不能在外部定义
    命名空间的成员变量和成员函数可以在内部声明,外部定义,也可以内部定义

    命名空间的作用域解析符号为::
    using 的用法

    • using 编译指令 using namespace 命名空间;
      这个用法的目的是对命名空间所有成员不需要完整的引用
    • using 声明用法 using nampspace::成员名;
      对某个特定的成员名不需要完整的引用

    一般情况下,对偶尔使用的命名空间成员,应该使用命名空间的作用域解析运算符来直接给名称定位。而对一个大命名空间中的经常要使用的少数几个成员,提倡使用using声明,而不应该使用using编译指令。只有需要反复使用同一个命名空间的许多数成员时,使用using编译指令,才被认为是可取的。

    有时对于长度很长的命名空间名,需要使用别名来方便使用。
    using alias_name = space_name;

    使用无名的命名空间,主要目的是保持代码的局部性,对于无命名的空间,成员只对当前编译的文件有效。

    相关文章

      网友评论

          本文标题:C++命名空间相关概念

          本文链接:https://www.haomeiwen.com/subject/rjssjqtx.html