Я думаю, что деструктор скоро будет работать на "другом"
Тогда ваше мышление ошибочно.Вы можете перемещаться с любого объекта, к которому у вас есть неконстантный доступ.И после этого объект может продолжать жить бесконечно долго.
Технически *1007* правильно поместить ваши текущие данные в старый объект.Но это не очень хорошая идея.Лучше использовать переменную стека:
Example& operator=(Example &&other)
{
Example temp(std::move(other)); //other is now empty.
std::swap(hExample, temp); //our stuff is in `temp`, and will be destroyed
return *thisl
}
Или, что еще лучше (если вы не используете Visual Studio), храните ваши вещи в оболочке, которая правильно поддерживает перемещение, и пусть сгенерированный компилятором конструктор перемещения выполняетработа для вас.