几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   内存泄漏 (http://www.dimcax.com/hust/forumdisplay.php?f=118)
-   -   使用com智能指针时的注意事项 (http://www.dimcax.com/hust/showthread.php?t=1255)

yogy 2007-08-05 09:19 PM

使用com智能指针时的注意事项
 
最后我们也总结一下使用COM智能指针时的注意事项:

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

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

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

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

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

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

内存泄漏


所有的时间均为北京时间。 现在的时间是 03:21 PM.