c++ - 为什么右值不能绑定(bind)左值引用?

标签 c++ reference

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

右值不能绑定(bind)左值引用的决定背后的原因是什么?

最佳答案

右值通常是即将消亡的东西或文字。如果这段代码是合法的:
int &r = 5
那么你就可以修改 5,但这没有意义!引用(任何类型的)只是被引用对象的别名。
但是,对 const 的左值引用禁止对对象进行任何更改,因此您可以将它们绑定(bind)到右值。
const int &r = 5;//好的 r = 10;//编译错误

关于c++ - 为什么右值不能绑定(bind)左值引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26807181/

相关文章:

c++ - 为 Windows 部署 QT exe 时遇到问题

c++ - 在 OS X 中构建和安装 MongoDB C++ 驱动程序

需要 perl 引用说明

excel - 我希望一个单元格显示另一个单元格中的一些字符

c++ - 实现可被接受为 std::ostringstream 引用的无操作 std::ostringstream

c++ - C++对对象的引用类似于C中的双指针吗?

c++ - 将元素数组转换为 reference_wrappered 元素数组

c++ - exFAT校验和的计算

c++ - clang 中明确指定的参数无效,但在 gcc 中编译成功——谁错了?

c++ - 从引用复制构建