interface IUnknown
{
virtual HRESULT __stdcall QueryInterface(const IID && iid, void * *ppv) = 0;
virtual ULONG __stdcall AddRef() = 0;
virtual ULONG __stdcall Release() = 0;
}
引用計(jì)數(shù)簡(jiǎn)介:
AddRef 和 Release實(shí)現(xiàn)的是一種名為引用計(jì)數(shù)器的內(nèi)存管理技術(shù)。引用計(jì)數(shù)是使組件能將自身刪除最簡(jiǎn)單也是效率最高的方法。
計(jì)數(shù)器使用規(guī)則:
1、返回之前調(diào)用AddRef();
2、使用完接口調(diào)用Release();
3、賦值之后調(diào)用AddRef。再將一個(gè)接口指針賦給另一個(gè)接口指針時(shí),應(yīng)調(diào)用AddRef。