分配运算符
赋值运算符是指将数据替换为已存在(先前初始化的)对象和其他对象的数据。让我们以此为例:
// Assignment Operator
#include <iostream>
#include <string>
using std::cout;
using std::endl;
class Foo
{
  public:
    Foo(int data)
    {
        this->data = data;    
    }
    ~Foo(){};
    Foo& operator=(const Foo& rhs)
    {
            data = rhs.data; 
            return *this;
    }
    int data;
};
int main()
{
   Foo foo(2); //Foo(int data) called
   Foo foo2(42);
   foo = foo2; // Assignment Operator Called
   cout << foo.data << endl; //Prints 42
}
我可以在这里看到我在初始化 foo 对象时调用赋值运算符。然后我将 foo2 分配给 foo。调用该等号运算符时出现的所有更改都在 operator= 函数中定义。你可以在这里看到一个可运行的输出: http : //cpp.sh/3qtbm