4.1 为什么需要赋值运算符?
拷贝构造函数只能在初始化进行状态的赋予,若需要在初始化后再进行状态整体的赋予需要用到赋值构造函数。
4.2 什么是赋值运算符?赋值运算符的本质是一个函数,函数名称为=
。它发生的时期是在除初始化之外的状态赋予。基本格式是:
class A
{
A & operator=(const A &);
}
A A::operator=(const A &)
{
return *this;
}
返回值为左侧运算对象的引用。(标准库通常要求定义赋值运算符)
4.3 如何使用赋值运算符?就和正常的赋值一样使用就行。
4.4 其他说明等号=
不一定是赋值运算符,发生在初始化时可能是拷贝构造函数或移动构造函数。