首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >传递参数为BSTR还是_bstr_t?

传递参数为BSTR还是_bstr_t?
EN

Stack Overflow用户
提问于 2015-11-13 12:53:51
回答 1查看 856关注 0票数 0

我的COM实现类将参数作为BSTR (和VARIANT*),这些参数在内部传递。通常,我们会将它们转换为std::stringstd::wstring,但有时它们会被传递回另一个COM调用。

在这些情况下,最好是传递原始的COM类型,还是将它们封装在助手类中,比如_bstr_t _variant_t**?**。

EN

回答 1

Stack Overflow用户

发布于 2015-11-13 23:55:57

如果您对BSTR没有什么特别之处,而只是将它传递给另一个方法,那么您就不必包装它。您可以将BSTR视为不透明指针。

_bstr_t (或者CComBSTR是Visual的另一个包装器提供程序)在您需要分配BSTR并且不希望自己管理内存(并确保您没有泄漏内存)时非常有用,但它们不是必需的。

PS:除非我需要将BSTR输出到一个不懂Unicode的程序,否则我永远不会使用中间std:string来传递BSTR,因为我会冒丢失信息的风险。std:wstring更好。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33693204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档