几何尺寸与公差论坛

 找回密码
 注册
查看: 3014|回复: 0

使用com智能指针时的注意事项

[复制链接]
发表于 2007-8-5 21:19:16 | 显示全部楼层 |阅读模式
最后我们也总结一下使用COM智能指针时的注意事项:

  ·不要在Com智能指针的生命期如果在::CoUninitailize之后,那请在调用::CoUninitailize之前,强制调用MyComPtr = NULL;达到强制释放的目的。否则会出错。

  ·不要混用智能指针和普通Dispatch指针,不要调用MyComPtr->Release(),这违背智能指针的原意,会在析构时报错。

  4:使用ATL提供智能指针:CComPtr或是CComQIPtr.

spFun.Release(); // 释放内部的接口指针,同时内部指针赋值为 NULL


   spFun->Release(); // 错!!!一定不要这么使用。


   // 因为这个调用并不把内部指针清空,那么析构的时候会被再次释放(释放了两次)

内存泄漏
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|几何尺寸与公差论坛

GMT+8, 2024-12-22 01:20 , Processed in 0.035324 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表