【发布时间】:2019-10-28 15:59:59
【问题描述】:
如果 TResult 是数组,则不允许将 IAsyncOperation
可以将数组包装在 PropertyValue 中,但对数组进行装箱和拆箱都会创建副本,这似乎效率低下。目前,我正在做的是编写一个自定义组件来存储 com_array(它有一个允许我在 com_array 中移动的构造函数),使用 DetachArray 函数将数组返回给调用者。这是最好的方法吗?看起来有点复杂?另外,在这种情况下,如果我从 C# 调用 DetachArray 函数,是否复制了数组?我不知道托管和非托管内存之间的交互是如何工作的。我假设使用 com_array 而不是 std::vector 与此有关。
【问题讨论】:
标签: c++-winrt