一、概念
左值:有名字的变量(对象),可以被赋值,可以在多条语句中使用。
右值:临时变量(对象),没有名字,只能在一条语句中出现,不能被赋值。
1.1 左值引用
左值引用的基本语法:type &引用名 = 左值表达式;
1.2 右值引用
右值引用的基本语法:type &&引用名 = 右值表达式;
二、代码
QString str1 = "str1";
QString str2 = "str2";
const QString& leftRef = str1;
const QString&& rightRef = str1 + str2;
三、总结
直观意义:为临时变量续命,也就是为右值续命,因为右值在表达式结束后就消亡了,如果想继续使用右值,那就会动用昂贵的拷贝构造函数。