关于引用的返回值
在对操作符重载时,四则运算是不能返回引用的。
看到一个这样的解释:
(5)在另外的一些操作符中,却千万不能返回引用:+-*/ 四则运算符。它们不能返回引用,Effective C++[1]的Item23详细的讨论了这个问题。主要原因是这四个操作符没有side effect,因此,它们必须构造一个对象作为返回值,可选的方案包括:返回一个对象、返回一个局部变量的引用,返回一个new分配的对象的引用、返回一个静态对象引用。根据前面提到的引用作为返回值的三个规则,第2、3两个方案都被否决了。静态对象的引用又因为((a+b) == (c+d))会永远为true而导致错误。所以可选的只剩下返回一个对象了。
请问文中的:
静态对象的引用又因为((a+b) == (c+d))会永远为true而导致错误。
如何理解,请方便的话给出代码解释,谢谢!