返回值是非引用时,编译器会为返回值分配用于保存数值的临时变量;所以返回值为引用,编译器会优化程序代码,避免临时变量的生成,减少对象构造和析构的消耗,提高程序性能。