Пространства имен Platform, default и cli (C++/CLI и C++/CX)

Пространство имен определяет имена языковых элементов таким образом, чтобы они не конфликтовали с именами в других частях исходного кода, которые в противном случае считались бы идентичными. Например, конфликты имен могут не дать компилятору распознать контекстно-зависимые ключевые слова. Пространства имен используются компилятором, но не сохраняются в скомпилированной сборке.

Все среды выполнения

При создании проекта Visual Studio предоставляет для него пространство имен по умолчанию. Вы можете вручную переименовать пространство имен, хотя в C++/CX имя WINMD-файла должно соответствовать имени корневого пространства имен.

Среда выполнения Windows

Подробные сведения см. в статье Namespaces and type visibility (C++/CX) (Пространства имен и видимость типов (C++/CX )).

Требования

Параметр компилятора: /ZW

Среда CLR

Синтаксис

using namespace cli;

Замечания

C++/CLI поддерживает пространство имен cli. При компиляции с /clrusing помощью инструкции в разделе синтаксиса подразумевается.

Следующие возможности языка находятся в пространстве имен 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