一.返回右值
•值形式的函数返回值天然具有右值属性,但从函数返回值跟通过值向函数传参数一样,伴随着对象的复制过程
–int foo (void) { ... }
foo () = 1234; // 错误
•为了避免对象复制的开销,同时又不想失去作为函数返回值的右值属性,可以返回一个常左值引用,模拟或者逼近右值的使用效果
–int& foo (void) { ... }
foo () = 1234;
–int const& foo (void) { ... }
foo () = 1234; // 错误