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