我是C ++的新手,请耐心等待。我知道这_bstr_t
只是一个包装器类,BSTR
但是,如MSDN文档中所示,_bstr_t
它没有将自身转换为的运算符BSTR
。
那么我可以将_bstr_t
对象传递给需要BSTR
as参数的函数吗,它安全吗?
还是有更好的方法来做到这一点?我尤其不希望任何内存泄漏与此有关。
我看过许多文章,所以对此感到困惑。抱歉,这是一个琐碎的问题。
_bstr_t
没有运算符可以将自身转换为BSTR
是的,没有。BSTR
被定义为wchar_t*
与“ afx.h”头文件中的等效:
typedef _Null_terminated_ LPWSTR BSTR;
并且_bstr_t
该类(在“ comutil.h”中)确实具有用于转换的运算符,带有或不带有const
限定符,如:
class _bstr_t {
public:
//...
//...
// Extractors
//
operator const wchar_t*() const throw();
operator wchar_t*() const throw();
//...
将新值分配给返回的指针不会修改原始的BSTR数据。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句