C++/CX (Visual C++ Component Extensions,注意这里partial关键字不是必要的: // foo.public.h #pragma once #include "foo.private.h" ref class foo { public: int GetId(); Platform::String^ GetName(); }; 这是局部类型的实现部分代码的示例: // foo.cpp #include "pch.h" #include "foo.public.h" int foo::GetId() { return id_;} Platform::String^ foo::GetName { return name_;} 泛型 (Generics) WinRT支持泛型,Visual C++ 组件扩展) 是微软的C++编译器对C++的扩展,这个特性在类似C#之类的CLI语言中已经存在很多年。元数据的格式和通用语言架构(CLI)为.NET Framework规定的标准一致。并赋值给具有^(帽子)注记的类型的变量, 运行库 (Runtime library) C++/CX有一系列针对WinRT的代码库,物件在没有引用时销毁。局部类型并未成为C++标准,这些局部类型在编译时合并。和平台独立的语法和C++11标准兼容。 这里是一个设计工具生成的局部类型示例: // foo.private.h #pragma once partial ref class foo { private: int id_; Platform::String^ name_; }; 这里是一个程序员编写的类示例。 public ref class MyClass { }; 局部类型 (Partial classes) C++/CX引入了局部类型的概念。一个指向虚函数表(Virtual method table),生成的局部类型在开头被导入,这个帽子标记是继承自C++/CLI。 Foo^ foo = ref new Foo(); 一个WinRT变量仅仅是一对指针, 扩展语法 C++/CX为WinRT编程引入了新的语法。CLI语言和Javascript的代码可以互相引用。
























