using ディレクティブ

C++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 を呼び出すのか、 を知ることができないからです。

関連参照

IBM Copyright 2003