平台、默认和 cli 命名空间(C++/CLI 和 C++/CX)
命名空间限定语言元素的名称,使这些名称不与源代码中其他位置的相同名称发生冲突。 例如,名称冲突可能会阻止编译器识别上下文相关关键字。 命名空间由编译器使用但不保留在已编译的程序集中。
所有运行时
当你创建项目时,Visual Studio 为项目提供默认命名空间。 可以手动重命名此命名空间,但在 C++/CX 中,.winmd 文件名必须与根命名空间的名称匹配。
Windows 运行时
有关详细信息,请参阅命名空间和类型可见性 (C++/CX)。
要求
编译器选项:/ZW
公共语言运行时
语法
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);
}