を使用してディレクティブ (C++)
using のディレクティブは 名前空間 の名前を明示修飾子として 名前空間名 を指定せずに使用できるようになります。読みやすくするためにの完全修飾名を使用できます。
using namespace [::] [ nested-name-specifier ] namespace-name
解説
使用 のディレクティブと 宣言を使用します の違いに注意してください : using の宣言は個々の名前を修飾子なしで使用する名前空間の名前変更using のディレクティブを使用せずに使用できるようになります。
ローカル変数の名前空間の変数の名前が同じ場合は名前空間の変数が非表示になります。これはグローバル変数と同じ名前を持つ名前空間の変数を使ったエラーです。
[!メモ]
IntelliSense で予期しない動作が発生する可能性を減らすにはソース・コード ファイルの先頭に using のディレクティブを配置します。
std の名前空間
ANSI/ISO C++ 標準では明示的に標準ライブラリの名前空間を宣言する必要があります。たとえば入出力ストリームを使用する場合は次の 1 とおりの方法で 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;
}