【发布时间】:2013-11-04 05:20:38
【问题描述】:
在http://www.reddit.com/r/IAmA/comments/1nl9at/i_am_a_member_of_facebooks_hhvm_team_a_c_and_d/ccjm2qs,Andrei Alexandrescu 写道:
我认为将右值绑定到 const 引用是一个小错误 这导致了右值引用兴登堡......这将是一个很长的 讨论。首次引入时将右值绑定到 const& 是有意义的 (没有模板,很少有细微之处)但从长远来看,它实际上是 无法区分被调用方的右值和左值。 这反过来又迫使一个过于复杂的解决方案(右值引用)作为 一个昂贵的修复。
如果没有选择将右值绑定到 const 引用,这将如何影响移动语义和完美转发?
【问题讨论】:
-
这是 Andrei Alexandrescu 的观点。那么我们如何支持他的主张呢?如果是一般的社区意见,那么我们可能会支持,但它是个人的意见,在很多事情上经常有不同的意见,比如迭代器,被 C++ 专家很好地接受。
-
我们不需要在被调用方进行区分。它作为常量引用传递并且应该只是
readable,而不是writable。并且右值引用不是overly complex。 -
我已经改写了这个问题,使其符合事实而非基于意见。
-
如果右值不绑定到 const 引用,它们绑定到什么?没有?非
const引用?仅实例?