Пространства имен 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. При компиляции с /clr
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);
}