为什么Rvalue不能绑定Lvalue引用?

时间:2014-11-07 17:55:49

标签: c++ reference

这是一个简单而古老的问题。我确信必须在其他地方询问。但经过超过30分钟的谷歌搜索,我决定再次问这里。关于右值参考的大量信息使我很难找到适合这个问题的网页。

这个决定rvalues不能绑定左值引用的原因是什么?

1 个答案:

答案 0 :(得分:3)

Rvalues通常是死亡或文字的东西。如果此代码合法:
int &r = 5
然后你就可以修改5,但这没有意义!引用(任何类型)只是引用对象的别名 但是,对const的左值引用禁止对对象进行任何更改,因此您可以将它们绑定到右值 const int &r = 5; // ok r = 10; // compilation error