C++编程中的命名空间基本知识讲解

2020-01-06 14:22:31王旭


命名空间别名
命名空间名称必须是唯一的,这意味着通常它们不应太短。如果名称的长度使代码难以阅读,或在不能使用 using 指令的头文件中进行键入单调乏味,则可以使用用作实际名称的缩写的命名空间别名。例如:


namespace a_very_long_namespace_name { class Foo {}; }
namespace AVLNN = a_very_long_namespace_name;
void Bar(AVLNN::Foo foo){ }

匿名或未命名的命名空间
可以创建显式命名空间,但不为其提供一个名称:


namespace
{
 int MyFunc(){}
}

这称为未命名的命名空间或匿名命名空间,在你想要使变量声明对于其他文件中的代码不可见(即为它们提供内部链接),而不必创建已命名的命名空间时非常有用。同一文件中的所有代码都可以看到未命名的命名空间中的标识符,但这些标识符以及命名空间本身在该文件外部(或更准确地说,在翻译单元外部)不可见。



注:相关教程知识阅读请移步到C++教程频道。