Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 运算符=的含义是什么?_C++_Com - Fatal编程技术网

C++ 运算符=的含义是什么?

C++ 运算符=的含义是什么?,c++,com,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

我有一些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
    的三个实例相加。这确实连接了3个字符串
  • this->\u bstr\u t::operator=(foo)
    获取1的结果并调用基类的赋值运算符(),该基类必须是
    \u bstr\u t
  • 可以说它连接了三个字符串,并将结果分配给它自己


    (所有这些都是在帕桑的水晶球没有正确告诉他的假设下进行的,即您的代码是继承自
    \u bstr\u t
    的类的成员函数的一部分)

    这是什么?它不是函数声明,因为它缺少返回类型,也不是静态函数调用,因为运算符不能是静态函数。我很困惑,是
    \bstr\t::operator=(btLeft+tempData+btRight);有效C++():这是一个功能水晶球的一部分,你在一个类中找到这个,它来源于<代码>在这种情况下,调用赋值运算符可以合理地分配私有
    \u bstr\u t::m_wstr
    成员。这样@HansPassant才有意义,谢谢。那么这个问题的答案应该很简单。