プラットフォーム、既定、および cli 名前空間 (C++/CLI と C++/CX)
言語要素の名前は名前空間によって修飾されるため、それ以外は同じである名前と、ソース コードの別の部分で競合することはありません。 たとえば、名前が競合すると、コンパイラで状況依存キーワードを認識できなくなります。 名前空間はコンパイラによって使用されますが、コンパイルされたアセンブリでは保持されません。
すべてのランタイム
Visual Studio では、プロジェクトの作成時に、既定の名前空間がプロジェクトに与えられます。 名前空間の名前は手動で変更できますが、C++/CX では、.winmd ファイルの名前が、ルート名前空間の名前と一致している必要があります。
Windows ランタイム
詳細については、「名前空間と型の参照範囲 (C++/CX)」を参照してください。
要件
コンパイラ オプション: /ZW
共通言語ランタイム
構文
using namespace cli;
解説
C++CLI では、cli 名前空間がサポートされています。 /clr
を指定してコンパイルする場合、Syntax セクションの using
ステートメントが適用されます。
cli 名前空間には、次の言語機能が含まれます。
要件
コンパイラ オプション: /clr
例
次のコード例では、cli 名前空間のシンボルを、ユーザー定義シンボルとして自分のコードで使用できることを示します。 ただし、これを行った場合は、同じ名前の cli 言語要素への参照を、明示的または暗黙的に修飾する必要があります。
// cli_namespace.cpp
// compile with: /clr
using namespace cli;
int main() {
array<int> ^ MyArray = gcnew array<int>(100);
int array = 0;
array<int> ^ MyArray2 = gcnew array<int>(100); // C2062
// OK
cli::array<int> ^ MyArray2 = gcnew cli::array<int>(100);
::array<int> ^ MyArray3 = gcnew ::array<int>(100);
}