Como os objetos movidos podem ser usados? [duplicado]
Esta pergunta já tem uma resposta aqui:
O que posso fazer com um objeto movido de? 2 respostasDepois de mover um objeto, ele deve ser destrutível:
T obj;
func(std::move(obj));
// don't use obj and let it be destroyed as normal
Mas o que mais pode ser feito com obj? Você poderia mover outro objeto para ele?
T obj;
func(std::move(obj));
obj = std::move(other);
Isso depende do tipo exato? (Por exemplo, std :: vector poderia oferecer garantias específicas nas quais você não pode confiar em todos os T.) É necessário ou mesmo sensato que todos os tipos suportem algo além da destruição de objetos movidos de?