gpt4 book ai didi

c++ - shared_ptr - ccomptr 交换

转载 作者:行者123 更新时间:2023-11-30 04:35:24 25 4
gpt4 key购买 nike

这里有个简单的问题

假设我们有一个使用 shared_ptr/enable_shared_from_this 的代码库。

我们被要求将代码库的一部分转换为 COM 服务器,我们应该在其中使用 CComPtr 代替,虽然这不是强制性要求...

现在问题来了;atl/com+ 中是否有任何模仿 enable_shared_from_this 的功能?

最佳答案

使用 CComPtr 时不需要 enable_shared_from_this,因为 CComPtr 不维护引用计数。相反,它指向的对象维护引用计数。所有 CComPtr 所做的就是调用对象的成员函数来增加或减少引用计数。执行以下操作没有问题:

void Func(IUnknown* someObj)
{
CComPtr ptrA = someObj;
CComPtr ptrB = someObj;
}

关于c++ - shared_ptr - ccomptr 交换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5314859/

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