Hacker News new | ask | show | jobs
by ori_b 2533 days ago
The destructor gets called on them. They need to be valid enough for that.
1 comments

Hm, technically don't think this would be required. Take for instance:

  auto no_destroy = new MoveNoDestroy();

  MoveNoDestroy* moved_into;

  *moved_into = std::move(*no_destroy);
Wouldn't call the destructor of the moved from MoveNoDestroy.
Yes, if you leak resources, their destructors won't be called. That really has nothing at all to do with move semantics though. I think the important point is that move semantics don't alter the lifetime management of the moved-from object.