_bstr_t :: operator =是什么意思?

时间:2019-09-25 07:25:41

标签: 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);

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

1 个答案:

答案 0 :(得分:1)

与以下相同:

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

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

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