在同一命名空间内的名字可以直接访问,该命名空间之外的代码则必须明确指出命名空间。
- 运算符::
语法:命名空间::名字
简单明了,且不会造成任何冲突,但使用起来比较繁琐。 - using声明
语法:using 命名空间::名字
用using声明名后,就可以进行直接使用名称。
如果该声明区域有相同的名字,则会报错。 - using编译指令
语法:using namespace命名空间
运算符::
在头文件中加入 namespace myname { }
在cpp文件中加入前缀 myname::
调用时,在命名空间下调用 myname::
头文件也可以这样定义:
函数调用:
using声明
using myname::func;
申明哪个使用哪个
using编译指令
using namespace myname;
using编译指令将使整个命名空间中的名字可用。如果声明区域有相同的名字,局部版本将隐藏命名空间中的名字,不过,可以使用域名解析符使用命名空间中的名称。