使用指令(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;
}