20180308 C++ 在operator中处理“自我赋值”
"自我赋值"发生在对象被赋值给自己时,如下:
class Widget{...};
Widget w;
...
w=w;//赋值给自己
若两个对象只要来自同一个继承体系,它们甚至不需声明为相同类型就可能造成“”“别名”,因为一个base classd的reference或pointer可以指向一个derived class对象:
class Base{...};
class Derived:public Base{...};
void doSomething(const Base& rb,Derived *pd);
//rb和*pd有可能其实是同一个对象
这个 没看懂,以后还要经常看。