当前位置:  开发笔记 > 编程语言 > 正文

BSTR和_bstr_t有什么区别?

如何解决《BSTR和_bstr_t有什么区别?》经验,为你挑选了3个好方法。

谁能解释上面提到的类型和一些样本用法之间的区别,以清楚地解释两者之间的区别?

任何帮助将非常感谢!注意:这个问题是另一个问题的副产品



1> Khalid Salom..:

BSTR是与COM一起使用的字符串数据类型.

_bstr_t是一个类似于智能指针的包装类,因此当变量被销毁或超出范围时,它将释放分配的内存._bstr_t也有引用计数,每次通过值传递_bstr_t变量(避免不必要的复制)时都会增加,并在不再使用时递减.每当所有引用都被销毁时,就会释放为该字符串分配的内存.

BSTR的替代方案是CComBSTR.它还管理BSTR的内存,但没有引用计数.



2> efotinis..:

BSTR是一个原始指针,_bstr_t而是一个封装该指针的类.

它与char*std :: string的区别相同.



3> PiNoYBoY82..:

_bstr_t包装BSTR类型.因此,当您实例化_bstr_t时,您也在创建BSTR._bstr_t只是为你包装所有东西,并且有点像BSTR的"智能ptr".

BSTR

http://msdn.microsoft.com/en-us/library/ms221069.aspx

SysAllocString()

http://msdn.microsoft.com/en-us/library/ms891285.aspx

_bstr_t

https://msdn.microsoft.com/en-us/library/zthfhkd6.aspx

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有