WinRT开发:组件、模板与自定义元素详解
1. 集合操作与优化
在处理集合时,如 std::vector 及其WinRT包装器(如 Vector<T> ),应尽可能使用 std::vector ,仅在从WinRT类导出时使用 Vector<T> 。因为原生C++类型的开销比WinRT类型小,这是由WinRT基于接口的特性决定的。
以下是一个简单的示例,展示了如何优化 Reviews 属性的实现:
_reviews = reviews->GetView();
}
return _reviews;
}
该属性实现尝试通过缓存 IVectorView<BookReview> 结果来进行优化。如果没有添加新的评论,或者该属性从未被调用(通过 _reviews 中的 nullptr 表示),则直接返回缓存结果。否则,会创建 Vector<BookReview> ,并使用 IVector<BookReview>::Append 添加 BookReview 对象。
添加评论的方法 AddReview 实现如下:
超级会员免费看
订阅专栏 解锁全文
598

被折叠的 条评论
为什么被折叠?



