我有一些带有 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);
-
btLeft + tempData + btRight
将_bstr_t
的三个实例加在一起(see the documentation here)。这确实连接了 3 个字符串。 -
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/