除了構造函數以外,這兩個模板提供的功能一模一樣。
一般來說,
CComQIPtr提供了幾乎所有CComPtr的功能,但是有唯一一個例外,
CComQIPtr<
IUnknown>是不合法的,template <class T, const IID* piid = &__uuidof(T)>class
CComQIPtr 的構造符重復定義。
必須寫成
CComQIPtr<
IUnknown, &IID_
IUnknown>。
除此之外,其他CComPtr都可以用
CComQIPtr代替。