在函数定义内部定义的C++命名空间别名具有块、函数、文件或其他作用域(有效期限)吗?
{...}
块之外,命名空间别名abc将无效。{
namespace abc = xyz;
abc::test t; //valid
}
abc::test t; //invalid
范围是别名定义的声明性区域。
它将具有定义它的块的作用域 - 除非您在函数内部的块中声明别名,否则很可能与函数作用域相同。
它的有效期限是在引入它的作用域内。
看一下http://en.cppreference.com/w/cpp/language/namespace_alias,我相信cppreference的解释更加标准。