Make sure
operator= is well-behaved when an object is assigned to itself. Techniques include comparing addresses of source and target objects, careful statement ordering, and copy-and-
swap.
Make sure that any function operating on more than one object behaves correctly if two or more of the objects are the same.
转载于:https://www.cnblogs.com/zhtf2014/archive/2009/12/27/1633339.html