现在新看《COM原理与应用》,发现MFC(貌似)是用指向指针的指针来获得新的接口指针,之前我学过DirectX,也是基于C++的,用的是微软的SDK,我发现也是这样的,我感觉不是很好理解。在我看来,一重指针就可以了,为什么要双重指针了。附上一个例子:HRESULT CDictionary::QueryInterface(const IID& iid , void** ppv)
{
   if (iid == IID_IUnknown)
   {
       *ppv = (IDictionary*)this;
       ((IDictionary*)(*ppv))->AddRef();
   }
   .....
}我个人感觉上面的代码可以用 void* pv 代替 void** ppv,并在代码中做相应替换也是可以完成同样功能的,为什么非得用双重指针呢,求大神解惑。指针C++指向指针的指针VC