Example:
operator*
and operator+
should return a new object instead of a reference. The latter approach will introduce problem such as memory leak
Additional note:
Avoid overloading short-circuiting operators: x || y or x && y. The overloaded versions of these do not short-circuit — they evaluate both operands even if the left-hand operand “determines” the outcome, so that confuses users.
From