operator = 中处理“自我赋值”

class Wdiget{...}

Widget w;

w = w;

a[i] = a[j];

*px = *py;

class Base{}

class Derived:public Base{...};

确保对象自我赋值的时候,operator = 有良好的行为,其中技术包括比较 “来源对象” 和 “目标对象” 的地址,精心周到的语句顺序,以及copy and swap;

确定任何函数如果操作一个以上对象,而其中多个对象是同一个对象的时候,行为仍然正确。

posted on 2020-09-23 23:06  123_123  阅读(121)  评论(0编辑  收藏  举报