在这种情况下,我应该明确告诉编译器移动字符串吗?
Should I explicitly tell the compiler to move the string in this case?
void SomeClass::setName(std::string name)
{
name_ = std::move(name);
}
这对编译器来说显式 std::move()
是多余的吗?
Is this explicit std::move() redundant for the compiler?
没有。如果没有 std::move()
,操作数将是一个左值,因此您将使用复制赋值运算符。
void SomeClass::setName(std::string name)
{
name_ = std::move(name);
}
这对编译器来说显式 std::move()
是多余的吗?
Is this explicit std::move() redundant for the compiler?
没有。如果没有 std::move()
,操作数将是一个左值,因此您将使用复制赋值运算符。