使用 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)。
谢谢