c++11新增的一种引用--右值引用
可以从字面意思上理解,指的是以引用传递(而非值传递)的方式使用 C++ 右值。这种引用可指向右值,使用&&声明
注意:右值引用只能引用临时变量和常量值。
例如 int&& a=30;
右值引用与const引用的区别:
借用以下代码理解:
int main()
{
//const引用
int a=10;
const int b=20;
const int& c=a;//const引用,引用普通左值
const int& d=30;//const引用,引用右值
cout<<b<<","<<c<<","<<d<<endl;//都能读取
//右值引用
//int&& e=a;//error,右值引用,不能引用左值
//int &&f=b;//error,右值引用,不能引用const左值
int&& g=50;//右值引用,引用右值
g=300;//右值引用,值可以修改
cout<<g<<endl;//300
return 0;
}