这是一个简单而古老的问题。我确信必须在其他地方询问它。但经过 30 多分钟的谷歌搜索后,我决定再次在这里提问。关于右值引用的大量信息让我很难找到适合这个问题的网页。
右值不能绑定(bind)左值引用的决定背后的原因是什么?
最佳答案
右值通常是即将消亡的东西或文字。如果这段代码是合法的:
int &r = 5
那么你就可以修改 5,但这没有意义!引用(任何类型的)只是被引用对象的别名。
但是,对 const 的左值引用禁止对对象进行任何更改,因此您可以将它们绑定(bind)到右值。
const int &r = 5;//好的
r = 10;//编译错误
关于c++ - 为什么右值不能绑定(bind)左值引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26807181/