*** 对 "operator="调用的理解

 A & operator= (A & b) {}

A obj1;

A obj2(1,2);

obj1 = obj2; //这条赋值语句可理解如下:

obj1.=(obj2) , 相当于obj1调用了它自己的=(A &b) 函数, 而=就是函数名。

因此obj1=obj2这句函数调用本身是有返回值的,类型是A &, 这就是为什么可以实现链式赋值: obj3 = obj1 = obj2;

原文地址:https://www.cnblogs.com/superrunner/p/10165113.html