Share via


プラットフォーム、既定、および 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);
}

関連項目

.NET および UWP でのコンポーネント拡張