c++ - 来自 _variant_t 的 CComSafeArray 包含安全数组
问题描述
我从 COM 对象方法中得到一个_variant_t变体变量。这个变体实际上是 VARIANT 的 SAFEARRAY 类型。我想使用 CComSafeArray 来操作它。
现在我使用以下代码:
_variant_t v_sa = /*call to the object method*/
CComSafeArray<VARIANT> csa(v_sa.parray);
虽然这可行,但我从 CComSafeArray 构造函数文档中了解到
构造函数使用这个地址来制作数组的副本,因此构造后不会引用该数组。
所以,我可能正在制作安全数组的冗余副本。有没有更好的方法来构造 CComSafeArray 对象?
必须使用 _variant_t 对象的原因是因为它是由 #import 指令生成的代码返回的。
解决方案
推荐阅读
- angular - 类型脚本类初始化和角度组件类初始化之间的区别
- c - 如何在C中将整数转换为二进制形式
- typescript - 谷歌地图与离子的集成导致空白屏幕没有错误
- c++ - 有没有办法在不设置精度的情况下设置小数位数?
- c++ - 编译以下代码时发生错误
- c++ - 我怎样才能找到最大的数字串?
- javascript - 在 Reactjs 中格式化 created_at 日期
- typescript - Typescript 中的符号构造函数错误:[ts] 只能使用“new”关键字调用 void 函数
- php - 如何使用 PHP json_encode 用 [] 格式化数组数据
- opencv - 如何为 findHomography() 函数选择估计算法?