0
项目的一些课程我工作的这个样子的智能指针释放FinalRelease明确
class ATLCOMCLASS<CComObjectRootEx<ATLCOMCLASS> >
{
ISomeInterfacePtr p;
/*some stuff*/
void FinalRelease()
{
p = NULL;
}
}
ISomeInterfacePtr
由_COM_SMARTPTR_TYPEDEF
定义。我不明白为什么它需要明确做p = NULL
这意味着p->Release()
,如果这项操作将自动进行ATLCOMCLASS
dtor。
请问您可以请我吗?