gpt4 book ai didi

interface - COM 对象到 COM 接口(interface)的 dynamic_cast 不会影响引用计数,是吗?

转载 作者:行者123 更新时间:2023-12-02 07:54:54 24 4
gpt4 key购买 nike

如果我有一个 C++ 类 X,它实现了 COM 接口(interface) IY 和 IZ,并且我有一个指向类型 X 对象的 IY 接口(interface)的指针 y,我这样做:

IZ *z = dynamic_cast<IZ *> ( y );

这不会增加对象的引用计数,对吗?我不必执行 Release() 来解释它,对吧?

如果重要的话,我正在使用 ATL/COM。

我猜答案是“不,它不会增加引用计数,不,你不必使用 Release()”,但我想确定一下。

提前致谢。

最佳答案

出于多种原因不得使用 dynamic_cast:

  • 你不知道目的地是否支持RTTI
  • 您不确定 OLE 是否没有为您创建代理
  • ...

改为使用 QueryInterface - 它会完成您想要的。

即使您确定上述问题 - 转换也不会更改 refcounter

关于interface - COM 对象到 COM 接口(interface)的 dynamic_cast 不会影响引用计数,是吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1460795/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com