【发布时间】:2017-04-13 21:34:18
【问题描述】:
由于某种原因,我没能找到这个确切的问题。为什么允许将rvalue 绑定到const lvalue reference,尽管没有const 是不可能的?
我确实理解右值的生命周期以某种方式获得了扩展(在第一种情况下),但如果是这样,为什么编译器不允许更改那个“右值”,它不再是一个真正的临时对象了。
例如,考虑以下代码:
int main(){
int &i=3; //produces error
const int&j =3; //compiles
return 1;
}
【问题讨论】:
-
问题毫无意义。
rvalues 无法绑定。只有引用可以绑定到任何东西。 -
@SergeyA 你知道提问者的意思。您可以进行修改以改进。
标签: c++ constants lvalue rvalue