赋值操作符
1、赋值必须返回对 *this 的引用
这与内置类型的赋值一致。而且, 因为赋值返回一个引用,就不需要创建和撤销结果的临时副本
2、是否为自赋值
用if(this==&other)来判断,若是,直接返回*this
否则,自赋值可能会导致dangling point的fatal error
3、是否需要delete掉分配给*this的内存空间
如果不delete,直接赋值,会导致memory leak
加号操作符重载
1.一般而言,将算术和关系操作符定义为非成员函数
2.加法操作符并不改变操作符的状态,操作符是对 const 对象的引用
3.为了与内置操作符保持一致,加法返回一个右值, 而不是一个引用
4.要返回的右值一般用复制构造函数创建局部变量,不要自己新new一个,否则当函数结束时没法delete掉
原文:https://www.cnblogs.com/NoerForest/p/14603872.html