请问 CComQIPtr 和 CComPtr 的区别?

请问 CComQIPtr 和 CComPtr 的区别?

除了构造函数以外,这两个模板提供的功能一模一样。  
  一般来说, CComQIPtr提供了几乎所有CComPtr的功能,但是有唯一一个例外, CComQIPtr< IUnknown>是不合法的,template   <class   T,   const   IID*   piid   =   &__uuidof(T)>class   CComQIPtr   的构造符重复定义。  
  必须写成 CComQIPtr< IUnknown,   &IID_ IUnknown>。  
  除此之外,其他CComPtr都可以用 CComQIPtr代替。

你可能感兴趣的:(请问 CComQIPtr 和 CComPtr 的区别?)