c++ - _bstr_t::operator= 是什么意思?

标签 c++ com

我有一些带有 COM 字符串操作的源代码,但是这些代码让我感到困惑

_bstr_t btLeft;
_bstr_t tempData ;
_bstr_t btRight ;
//Do something to assign values to 3 above variables 
.....
//And here
_bstr_t::operator = (btLeft + tempData + btRight); //confused!!!

return true

=> 这段代码是什么意思?

_bstr_t::operator = (btLeft + tempData + btRight);

它看起来像字符串连接?哪个是返回值?

最佳答案

和下面的一样:

const auto foo = btLeft + tempData + btRight;
this->_bstr_t::operator=(foo);
  1. btLeft + tempData + btRight_bstr_t 的三个实例加在一起(see the documentation here)。这确实连接了 3 个字符串。
  2. this->_bstr_t::operator=(foo);获取 1 的结果并调用必须为 _bstr_t 的基类的赋值运算符 ( see also the documentation ) .

你可以说它连接了三个字符串并将结果分配给它自己。

(所有这些都假设 Hasn Passant 的 Crystal 球正确地告诉他,您的代码是继承自 _bstr_t 的类的成员函数的一部分)

关于c++ - _bstr_t::operator= 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58093211/

相关文章:

python - Pywin32向word文档添加新页面

python - 通过 CPython/pywin32 使用 Windows UI 自动化?

c# - ReleaseComObject 不适用于静态方法

c++ - 奇怪的错误 C2275 ... 非法使用此类型作为具有成员函数模板和 lambda 的表达式

C++虚方法重载/覆盖编译器错误

c++ - XSD 限制可以特定于平台吗?

c++ - 为什么最负的 int 值会导致关于不明确的函数重载的错误?

c++ - 从 c++/c++11 中的函数返回不同值类型的优雅方式

C++ 链接和 COM 注册问题

.net - COM Callable Wrapper 与哪个 Apartment 相关联?