1 int &a = 2; // 左值引用绑定到右值,编译失败 2 3 int b = 2; // 非常量左值 4 const int &c = b; // 常量左值引用绑定到非常量左值,编译通过 5 const int d = 2; // 常量左值 6 const int &e = c; // 常量左值引用绑定到常量左值,编译通过 7 const int &b =2; // 常量左值引用绑定到右值,编程通过
int a = 1; int &&r1 = a; // 编译失败 int &&r2 = std::move(a); //将左值转变为右值编译通过