プラットフォーム、既定、および cli 名前空間 (C++ コンポーネント拡張)
言語要素の名前は名前空間によって暗黙的に修飾されるため、その名前が既存のソース コードのユーザー定義のシンボルと競合することはありません。
All Runtimes
Visual C++ では、C++/CX と C++/CLI の同様のデータ型のセットに対して、別々の名前空間を用意しています。名前空間によって、同じシンボル間での名前の競合を回避できます。たとえば、名前が競合すると、コンパイラで状況依存のキーワード (C++ コンポーネント拡張)を認識できなくなる場合があります。
Windows ランタイム
詳細については、「名前空間と型の参照範囲 (C++/CX)」を参照してください。
要件
Compiler option: /ZW
共通言語ランタイム
Syntax
using namespace cli;
解説
C++/CLI は cli 名前空間をサポートしています。/clr を指定してコンパイルする場合、Syntax セクションの using ステートメントが適用されます。
次の言語機能は、cli 名前空間に含まれます。
要件
Compiler option: /clr
例
Example
次のコード例は、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);
}