0
項目的一些課程我工作的這個樣子的智能指針釋放FinalRelease明確
class ATLCOMCLASS<CComObjectRootEx<ATLCOMCLASS> >
{
ISomeInterfacePtr p;
/*some stuff*/
void FinalRelease()
{
p = NULL;
}
}
ISomeInterfacePtr
由_COM_SMARTPTR_TYPEDEF
定義。我不明白爲什麼它需要明確做p = NULL
這意味着p->Release()
,如果這項操作將自動進行ATLCOMCLASS
dtor。
請問您可以請我嗎?