【发布时间】:2014-10-31 13:59:33
【问题描述】:
我已经尝试编译了:
int &&a=3;
int &b=a;
而且它有效。 我知道“a”是一个左值,但为什么我可以将“对 int 的右值引用”绑定到“对 int 的左值引用(而不是对 int 的右值引用)”? 这样,我可以更改临时值 3:
b=5 //changing the value of the temporary bound to the rvalue reference
这个技术是从 std::forward 使用的,所以我认为这是一种标准行为。 对 int 的右值引用是否被视为存储临时值的简单 int 左值? 如果不是,你如何解释绑定?
【问题讨论】:
标签: c++ reference forward lvalue rvalue