An object is identified by its address. If you want it at another
address, you have to construct a new one; you can’t move objects. (Even
with C++11, the new “move” semantics don’t actually move an
object; they provide an optimized way of moving its value, if you know
that you won’t need the value from where you’re moving it.)