Что нужно для использования оператора присваивания перемещения std ::string (в VC11 )?
Я надеялся, что это будет использоваться автоматически, так как v больше не нужен после присваивания. Требуется ли в этом случае стандартный ход ::? Если это так, я мог бы также использовать обмен не -С++ 11.
#include <string>
struct user_t
{
void set_name(std::string v)
{
name_ = v;
// swap(name_, v);
// name_ = std::move(v);
}
std::string name_;
};
int main()
{
user_t u;
u.set_name("Olaf");
return 0;
}