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 respostas

Depois 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?

questionAnswers(4)

yourAnswerToTheQuestion