Both function return temp object and copy into L3. The function ended and destroyed, but the temp is being returned back.......
The first version returns a reference to a local variable (a variable that is declared inside
operator+()). What happens to local variables after
operator+()finishes and you return to
main(), or to whatever function called