所谓右值引用就是必须绑定到右值的引用,通过&&获得。右值引用智能绑定到一个将要销毁的对象上,因此可以自由的移动其资源。
左值引用,也就是“常规引用”,不能绑定到要转换的表达式、字面值常量或返回右值的表达式。而右值引用恰好相反。可以绑定到这类表达式,但不能绑定到一个左值上。
返回左值的表达式包括返回左值引用的函数及赋值、下标、解引用和前置递增/递减运算符,返回右值的包括返回非引用类型的函数及算术、关系、位和后置递增/递减运算符。
变量是左值。
左值的特点是有持久的状态,而右值则是短暂的。