Microsoft(主要是Herb Sutter)建议在将WinRT与C ++ / CX一起使用时,将WinRT保留在应用程序的边界,并保持应用程序的核心使用标准ISO C ++编写。
我一直在编写一个我想使其保持可移植性的应用程序,所以我的核心功能是用标准C ++编写的,现在我正尝试使用C ++ / CX为其编写Metro风格的前端。但是,我对这种方法有一些疑问。例如,如果要将用户定义的C ++类型的向量推入XAML ListView控件,则必须将用户定义的类型包装为WinRT引用/值类型,以将其存储在中Vector^
。通过这种方法,我不可避免地要用WinRT类包装大部分C ++类。
这是我第一次尝试用C ++编写可移植的本机应用程序。保持WinRT这样的界限真的可行吗?带有平台特定边界的这种类型的便携式内核又将如何处理?