博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++中用完需要释放掉内存的几个类
阅读量:6468 次
发布时间:2019-06-23

本文共 465 字,大约阅读时间需要 1 分钟。

 

  1. BSTR

BSTR bstrXML = NULL;

//用完以后,或者 catch段中

if(bstrXML) ::SysFreeString(result);

  1. VARIANT

VARIANT varFileName;

//用完以后,或者 catch段中

VariantClear(&varFileName);

  1. 支持Release的COM接口,例如:

IXMLDOMDocument *pXMLDom=NULL;

IXMLDOMDocument *pXSLDoc=NULL;

//用完以后,或者 catch段中

SAFE_RELEASE(pXSLDoc);

SAFE_RELEASE(pXMLDom);

同时需要在文件的上面定义SAFE_RELEASE宏:

#define SAFE_RELEASE(p) do { if ((p)) { (p)->Release(); (p) = NULL; } } while(0)

 

转载于:https://www.cnblogs.com/time-is-life/p/5729151.html

你可能感兴趣的文章
利用ipmi更改本机自带的idrac
查看>>
Appium问题集合
查看>>
error libGL.so: cannot open shared object file: No
查看>>
继续折腾树莓派
查看>>
正确使用 Volatile
查看>>
Java中使用Map统计对象数目
查看>>
什么是机器学习
查看>>
Openstack 之 相对于VMWare的劣势
查看>>
Android WebView clearHistory 失效的解决方案
查看>>
使用hook_css_alter()函数删除CSS文件
查看>>
String.Remove和String.Replace方法区别
查看>>
hadoop完全分布式的搭建的理解
查看>>
【有奖征文】51CTO与你一起走过1314!
查看>>
MySQL中实现高性能高并发计数器方案(2)
查看>>
测试应该在产品开发的哪个阶段进入?
查看>>
mysql优化
查看>>
[原创] 视频教程之arp问题分析!自学成才的法器!
查看>>
统计分析的八种方法
查看>>
TRUNCATE TABLE,delete table, drop table 比较
查看>>
分享一份C语言写的简历
查看>>