C++命名空间相关概念

2019-01-23  本文已影响0人  飘曳的舟

变量作用域分为三类:

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

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

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

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

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

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

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

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

上一篇下一篇

猜你喜欢

热点阅读