代码之家  ›  专栏  ›  技术社区  ›  Adam Holmberg

ccomsafearray multimstat是否复制引用的元素?

  •  1
  • Adam Holmberg  · 技术社区  · 14 年前

    这个 CComSafeArray::SetAt method 提供一个参数来控制是否复制引用的变量:

    HRESULT SetAt(
    LONG lIndex,
    const T& t,
    BOOL bCopy = TRUE
    );
    

    …但是 CComSafeArray::MultiDimSetAt method 不提供相同的参数:

    HRESULT MultiDimSetAt(
    const LONG * alIndex,
    const T& t 
    );
    

    两个问题:

    1.)是否有理由不在多维方法中提供此选项?

    2.)文档没有指定是否复制引用的变量。它是隐式复制的吗?

    (在我的情况下,我想要它 要复制,因为它是变量类型的临时包装,在将变量类型设置为数组后,它可能会被“分离”)。

    1 回复  |  直到 14 年前
        1
  •  0
  •   Andrey    14 年前

    内部multimstat使用safearrayputement函数。 这意味着将复制BSTR,并添加对象。