1.返回值类型需声明为该类型的引用,并在函数结束前返回实例自身的引用。只有返回一个引用,才允许连续赋值。
2.传入的参数类型应为常量引用。如果传入的参数类型是实例,那么从形参到实参会调用一次复制构造函数。是无谓的消耗。为了在赋值运算符函数内不会改变传入的实例状态,传入的引用参数加const关键字。
3.分配新内存之前应该先释放实例自身已有的内存,否则程序将出现内存泄露
4.判断传入的参数和当前实例(*this)是不是同一个实例。
1.返回值类型需声明为该类型的引用,并在函数结束前返回实例自身的引用。只有返回一个引用,才允许连续赋值。
2.传入的参数类型应为常量引用。如果传入的参数类型是实例,那么从形参到实参会调用一次复制构造函数。是无谓的消耗。为了在赋值运算符函数内不会改变传入的实例状态,传入的引用参数加const关键字。
3.分配新内存之前应该先释放实例自身已有的内存,否则程序将出现内存泄露
4.判断传入的参数和当前实例(*this)是不是同一个实例。