using 关键字
1 对命名空间的 using 指令
命名空间
- 命名空间提供了在大项目中避免名字冲突的一种方法。
- 声明于命名空间块内的符号被放入一个具名的作用域中,避免这些符号被误认为其他作用域中的同名符号。
- 允许具有相同名字的多个命名空间块。这些块中的所有声明声明于该具名作用域。
using 指令
- 语法
attr(可选) using namespace 嵌套名说明符(可选) 命名空间名;
- attr(C++11):应用到此 using 指令的任意数量的属性
- 嵌套名说明符:名字与作用域解析运算符
::
的序列,以作用域解析运算符结束。单个::
代表全局命名空间 - 命名空间名:命名空间名。查找此名时,查找只考虑命名空间声明
- 从 using 指令之后到指令出现的作用域结尾为止,以对任何名字的无限定名字查找的视点来说,来自
命名空间名
的任何名字均可见,如同它声明于同时含有该 using 指令和命名空间名
两者的最接近外围命名空间作用域一样。