使用COM对象/ CComPtr和STL时的建议

时间:2010-04-27 08:28:08

标签: c++ visual-c++ com stl atl

我正在使用directshow做一些与COM相关的事情,例如:

typedef CComPtr<IBaseFilter> AutoIBaseFilterPtr;
map<CString, AutoIBaseFilterPtr> _filterMap;

存储directShow相关com对象及其友好名称的列表。

在找到this article (See:Problem 2)关于VC10编译器中的更改如何影响以前的OK代码之后,我想知道在混合STL和CComPtr时是否还有其他需要注意的事项,或者只是将STL和COM混合在一起一般

非常感谢任何提示,谢谢

1 个答案:

答案 0 :(得分:2)

我能想到的唯一一件小问题是CAdapt以及CComBSTR需要CComPtr,因为它也会超载operator&

实际上,重载operator&会使CAdapt成为必需,因为许多STL容器需要获取某些内容的地址X返回指向所述X的指针。