在命名空间中魔术常量__NAMESPACE__ 的值是包含当前命名空间名称的字符串.
在全局的,没有命名空间中,常量__NAMESPACE__ 就是包含一个空的字符串.
同时__NAMESPACE__在动态创建名称时很有用.
命名空间通过关键字namespace 来声明的, 单个命名空间,使用namespace '命名';或者namespace '命名'{};
全局命名使用namespace{}空来命名, 这个和魔术常量__NAMESPACE__ 一样,全局都是为空字符.
关键字 namespace 还能引用当前空间名称, 如访问当前命名空间里的函数hello(), 直接使用hello()或者namespace\hello(), 而不是__NAMESPACE__\hello(); 这也是 namespace和__NAMESPACE__常量的区别