0

给定这个构造函数:

MyClass::MyClass(SomeOtherClass other)
    : myOther(other)
{
}

我应该std::move在初始化列表中手动调用,还是编译器足够聪明以自动执行它?

4

1 回答 1

3

必须打电话给它。编译器无法知道您以后是否仍想“使用”该对象(无论如何这将是一个非常混乱的语言规则)。所以说: myOther(std::move(other))

于 2013-09-02T15:20:35.070 回答