原文链接:
C++11 Tutorial: Introducing the Move Constructor and the Move Assignment Operatorsmartbear.com由于本人才疏学浅,翻译难免有误,望各位不吝惜指正。
右值引用
右值引用(rvalue references)是一种新的用于绑定右值的引用类型。
那么什么是右值?
右值通常是编译器生成的用于表达式计算的临时变量或常量。目前来说,我们还不能安全地使用引用变量来绑定右值。
从编译原理上讲,右值是只存在于表达式计算时的未命名值。
下面这一表达式产生了一个右值:
x
对于上面的表达式,C++编译器会生成一个临时变量(右值)来存储y*z的结果,然后将其加上x。理论上,这个生成的临时变量(右值)会在整个表达式处理完成后被抛弃。
下面是使用C++定义右值引用的一个例子:
std::string&& rrstr; //C++11 rvalue reference variable
之前C+