【发布时间】:2013-09-16 23:04:20
【问题描述】:
你们能不能给我一个在特定情况下的说明性例子来证明以下陈述是有用和必要的?
AnyTypeMovable v;
AnyTypeMovable&& r = move(v);
【问题讨论】:
-
我会说它相当没用,因为
r现在是一个左值(它有一个名字!),无论如何你需要std::move(r)使它成为一个右值。 -
有趣的事实:
v不需要是可移动的。 -
有趣的事实:这段代码中没有发生任何动作。
-
我不会说它是 100% 没用的,你可以用它来告诉接下来阅读代码的人这个变量是一个临时变量,它会被移动,尽管我认为一般来说很容易发现当
std::move被调用时 -
@DavidRodríguez-dribeas Devils Advocate
标签: c++ c++11 scope move-semantics rvalue-reference