【发布时间】:2012-05-04 14:41:19
【问题描述】:
c++/boost 的使用都知道我们可以轻松地将智能指针重置为新实例(旧实例同时销毁)。我想知道我们如何为 COM 智能指针做到这一点?
_COM_SMARTPTR_TYPEDEF(IMyClass, __uuidof(IMyClass));
//normal class A
class A{
IMyClass m_spIMyClassObj; //this COM smart pointer is a member variable of a normal class
};
我初始化 COM 智能指针:
m_spIMyClassObj.CreateInstance(__uuidof(MyLib::IMyClass));
这很好,但是在 A 的生命周期内,我需要将 COM 智能指针 m_spIMyClassObj 重置为 IMyClass 的新实例,我该怎么做(还要确保清理旧的 ID)。
谢谢
【问题讨论】:
标签: c++ com reset smart-pointers