using ディレクティブ は、
すべてのネーム・スペース修飾子およびスコープ演算子へのアクセスを提供します。
これは、using キーワードをネーム・スペース ID に適用することによって行われます。
構文 - Using ディレクティブ >>-using--namespace--name--;-----------------------------------><
name は、前に定義されたネーム・スペースでなければなりません。 using ディレクティブは、グローバルおよびローカルのスコープで適用できますが、 クラス・スコープでは適用できません。 ローカル・スコープは、類似の宣言を隠蔽することによって、グローバル・スコープに優先します。
スコープが、2 番目のネーム・スペースを指名する using ディレクティブを含んでいる場合、 そしてその 2 番目のネーム・スペースが別の using ディレクティブを含んでいる場合、 2 番目のネーム・スペースの using ディレクティブは、 あたかも 1 番目のスコープ内に常駐しているかのように振る舞います。
namespace A { int i; } namespace B { int i; using namespace A; } void f() { using namespace B; i = 7; // error }
初期設定この例で、関数 f() 内で i を初期化しようとすると、 コンパイラー・エラーを生じます。なぜなら、関数 f() は、どの i を呼び出すのか、つまりネーム・スペース A から i を呼び出すのか、 またはネーム・スペース B から i を呼び出すのか、 を知ることができないからです。
関連参照