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 基底類別程式庫 命名空間 中使用名稱,而不用 命名空間名稱 作為明確限定詞。
// 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;
}