using 关键字

1 对命名空间的 using 指令

命名空间

  • 命名空间提供了在大项目中避免名字冲突的一种方法。
  • 声明于命名空间块内的符号被放入一个具名的作用域中,避免这些符号被误认为其他作用域中的同名符号。
  • 允许具有相同名字的多个命名空间块。这些块中的所有声明声明于该具名作用域。

using 指令

  • 语法 attr(可选) using namespace 嵌套名说明符(可选) 命名空间名;
    • attr(C++11):应用到此 using 指令的任意数量的属性
    • 嵌套名说明符:名字与作用域解析运算符 :: 的序列,以作用域解析运算符结束。单个 :: 代表全局命名空间
    • 命名空间名:命名空间名。查找此名时,查找只考虑命名空间声明
  • 从 using 指令之后到指令出现的作用域结尾为止,以对任何名字的无限定名字查找的视点来说,来自 命名空间名 的任何名字均可见,如同它声明于同时含有该 using 指令和 命名空间名 两者的最接近外围命名空间作用域一样。

2 对命名空间成员的 using 声明

3 对类成员的 using 声明

4 类型别名与别名模板声明

参考

相关