Platform、default 和 cli 命名空间(C++ 组件扩展)
命名空间限定语言元素的名称,使这些名称不与源代码中其他位置的相同名称发生冲突。 例如,名称冲突可能会阻止编译器识别上下文相关的关键字(C++ 组件扩展)。 命名空间由编译器使用但不保留在已编译的程序集中。
所有运行时
创建项目时,Visual C++ 为项目提供默认命名空间。 可以手动重命名此命名空间,但在 Windows 运行时中,.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);
}