C++11 introduced move semantics. With it, you can encode transfer of ownership and allow to put types in a container where you can’t copy them.
This clearly is powerful.
But the current move system isn’t perfect, there are a couple of issues. There is an arguably cleaner approach: destructive move.
In this post we’ll explore a purely theoretical alternative C++ with destructive move.» read more »