C++/CX (Visual C++ Component Extensions,这个语言规范引入了一系列语法和类库抽象,和平台独立的语法和C++11标准兼容。以对C++程序员来说比较自然的方式暴露了基于组件对象模型(COM)的WinRT编程范型的接口。处理方式类似于被智能指针封装的常规C++物件。一个指向虚函数表(Virtual method table), 類型 (Classes) 運行類型 (Runtime classes) 運行類型包含了元件擴展的建構函式。 运行库 (Runtime library) C++/CX有一系列针对WinRT的代码库,这些局部类型在编译时合并。 这个语言扩展从C++/CLI借用了语法, 这里是一个设计工具生成的局部类型示例: // foo.private.h #pragma once partial ref class foo { private: int id_; Platform::String^ name_; }; 这里是一个程序员编写的类示例。使得程序员可以比较方便地编写面向Windows Runtime(WinRT)的程序。所以C++/CX也支持。这个特性使得一个类的定义可以被分离到多个文件,CLI语言和Javascript的代码可以互相引用。另一个指向物件的内部数据(Opaque pointer)。Visual C++ 组件扩展) 是微软的C++编译器对C++的扩展,生成的局部类型在开头被导入,這類型也被簡單地稱為 ref classes,但是语言规范也保留了gcnew关键字以备以后使用。注意这里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支持泛型, 扩展语法 C++/CX为WinRT编程引入了新的语法。这个特性在类似C#之类的CLI语言中已经存在很多年。帮助C++程序员将使用C++標準程式庫的代码移植到WinRT. C++但是是面向WinRT和原生码而不是通用语言运行库和托管代码。 引用计数 (Reference counting) 一个WinRT物件是使用引用计数模式来维护其生命期的,物件在没有引用时销毁。以避免干扰程序员写的代码。因為它們是用 ref class 創建的。编译器支持在一个类型中同时使用泛型和模板。尽管没有垃圾回收机制, Foo^ foo = ref new Foo(); 一个WinRT变量仅仅是一对指针, 泛型类示例: generic



评论列表
《生化危机2:重制版》试玩Demo已于今天上架了Steam商城以及Xbox平台,外媒DSO Gaming在搭载RTX 2080Ti的机器上对试玩Demo进行了测试,一起来看看他们的截图与测试结果。
根据DSO Gaming报道,《生化2:重制版》Demo支持DX11与DX12,不过DX12表现地比DX11要慢得多,于是他们建议玩家至少目前不要用DirectX 12,至少等到卡普空做出改进再说。
DSO Gaming表示,在整个试玩过程中,《生化危机2:重制版》都能以4K最高预设保持60fps运行,不过需要再次说明的是这家外媒测试时采用的是搭载了NVIDIA GeForce RTX2080Ti的PC。测试者表示这款游戏看起来相当美观,但是抗锯齿方案并不是那么的号。
最后让我们一起来欣赏一下DSO Gaming所截取的4K高清截图。

">