Platform、default 和 cli 命名空间(C++ 组件扩展)

命名空间隐式地符合语言元素的名称,因此名称与现有的源代码中用户定义的符号不冲突。

所有的运行库

Visual c + + 提供单独的命名空间组相似的数据类型在 C + + /cli CX 和C++/CLI。 命名空间可以避免名称冲突的相同符号之间。 例如,名称冲突可能会阻止编译器识别上下文相关的关键字(C++ 组件扩展)

Windows 运行时

声明命名空间,您希望使用与下列应用程序中的using namespace指令。

语法

using namespace Platform;
using namespace default;

备注

Platform和default命名空间。

C + + /cli CX 支持以下的数据类型,在Platform命名空间:

C + + /cli CX 支持以下语言功能,在default命名空间。

  • safe_cast(C++ 组件扩展)

  • The fundamental types int8, uint8, int16, uint16, int32, uint32, int64, uint64, float32, and float64. C++/CXalso supports the standard C++ types, bool, char, float, and double.

d87eee3k.collapse_all(zh-cn,VS.110).gif要求

编译器选项:/ZW

d87eee3k.collapse_all(zh-cn,VS.110).gif示例

示例

下面的代码示例使用Platform命名空间限定Array模板,和default命名空间限定int16基本类型。 int16类型等价于short。

要测试该示例,请创建一个 BlankApplication 项目、 替换的 BlankPage::OnNavigatedTo() 方法,然后指定断点在右括号和赋值语句的分支,则返回 true 和 false if语句。 当您调试示例时,请检查已分配的数组元素。

该代码将声明隐式地符合Array与Platform命名空间和int与default命名空间。

MyArray2 声明显式限定Array与Platform命名空间和int16与default命名空间。

带有注释的一个整数变量声明名为"数组"后,将出现在 MyArray3 声明。 如果您删除批注,您将需要使用全局作用域运算符 (::) 指定的名称"数组"适用于Array模板并不是变量。

void BlankPage::OnNavigatedTo(NavigationEventArgs^ e)
{
// cwrt_namespace.cpp
// compile with: /ZW 

    using namespace Platform;
    using namespace default;

    Array<int>^ MyArray = ref new Array<int>(100);
    Platform::Array<::default::int16>^ MyArray2 = ref new Platform::Array<int16>(100);
//  int Array = 0;
    ::Array<short>^ MyArray3 = ref new ::Array<short>(100);

    MyArray[1] = 1;
    MyArray2[2]= 2;
    MyArray3[3]= 3;

    bool arraysAssigned = false;
    if ((MyArray[1] == 1) && (MyArray2[2] == 2) && (MyArray3[3] == 3))
        arraysAssigned = true;
    else
        arraysAssigned = false;
}

公共语言运行时

语法

using namespace cli;

备注

C++/CLI支持cli命名空间。 与编译时**/clr**、 using默认的语法部分中的语句。

下列语言功能是在cli命名空间:

d87eee3k.collapse_all(zh-cn,VS.110).gif要求

编译器选项:/clr

d87eee3k.collapse_all(zh-cn,VS.110).gif示例

示例

下面的代码示例演示,可以使用中的符号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);
}

请参见

概念

适用于运行时平台的组件扩展