using 指令 (C++)

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

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

备注

请注意在 using 指令和 使用声明 之间的差别:using 声明允许单个名称使用,而不需要限定, using 指令可以在命名空间中的所有名称使用,无需限定。 这个关键字还被用于 “类型别名”.

如果局部变量和命名空间变量具有相同名称,隐藏命名空间变量。 具有与一个全局变量同名的命名空间变量是一个错误。

备注

将您的 using 指令放在源代码文件的开头,以减少和 IntelliSense 相关的以外行为发生的可能。

std 命名空间

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

  • std::cout (explicitly)

  • using std::cout (using 指令)

  • using namespace std (using 指令)

/clr

以下示例在 .NET Framework 基类库 namespace 中显示如何允许要使用的名称,而不需 namespace-name 为显式限定符。

// 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;
}
  Hello World。

请参见

参考

命名空间 (C++)

C++ 关键字