在这种情况下,我应该明确告诉编译器移动字符串吗?

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(),操作数将是一个左值,因此您将使用复制赋值运算符。