C++中用完需要释放掉内存的几个类

本文介绍了在使用COM接口进行编程时如何有效地管理资源,包括BSTR和VARIANT类型的释放方法,以及通过SAFE_RELEASE宏来释放IXMLDOMDocument等接口实例的具体实践。

 

  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)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值