使用指令(C++)

using 指令允许在 命名空间 的名称使用,而不需要命名空间 名称 为显式限定符。 当然,完全限定名,仍可用于提高可读性。

using namespace [::] [ nested-name-specifier ] namespace-name

备注

请注意在指令中的 使用使用声明 之间的差别: using 声明允许单个名称使用,而不需要限定, using 指令可以在命名空间中的所有名称使用,无需限定。

如果本地变量的名称和命名空间变量同名,命名空间变量隐藏。 这是一个错误具有名称为命名空间变量和一个全局变量同名。

备注

在源代码文件的开头将 using 指令减小意外行为的潜在使用 IntelliSense。

std 命名空间

ANSI/ISO C++ 标准在标准库中需要显式声明命名空间。 例如,在中,在使用 iostream 时,必须以下列方式之一指定 cout 命名空间:

  • std::cout (explicitly)

  • using std::cout (using 声明)

  • using namespace std (using 指令)

/clr

下面的示例在 .NET framework 基类库 命名空间 演示如何允许名称使用,而不需要命名空间 名称 为显式限定符。

// using_directive.cpp
// compile with: /c /clr
using namespace System::Reflection;
[assembly:AssemblyDescriptionAttribute("test")];

示例

// using_directive2.cpp
// compile with: /EHsc
#include <iostream>

int main() {
   std::cout << "Hello ";
   using namespace std;
   cout << "World." << endl;
}
  

请参见

参考

命名空间(C++)

C++关键字