佚名通过本文主要向大家介绍了attach detach,attach是什么意思,attach to是什么意思,die attach是什么意思,ccombstr等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: CComBSTR 的 Attach 和 Detach 是做什么用的
描述:
解决方案1:
描述:
CComBSTR 的 Attach() 和 Detach 是做什么用的
解决方案1:
Attach():接收一个BSTR用CComBSTR来维护他的生命周期。如果把一个BSTR附加在一个非空的CComBSTR上,就会产生内存泄漏。所以如果CComBSTR非空,需先调用Empty()清空CComBSTR;
Detach():返回了m_str,而且把自己清空
Attach表示自己将拥有目标的所有权(即由我来负责资源释放)
Detach表示自己放弃目标的所有权,通常把目标作为返回值以便调用者重新寻找所有者。
当CComBSTR要析构的时候,你想不让它释放字符串资源,比如你后面还要用,或者传给了另一个方法,就要使用Detach函数。
解决方案4: Attach是绑定
Detach 是将绑定的分离!