C++ Move Semantics

Move semantics transfer resources from an expiring object instead of making an expensive copy. std::move enables a move operation but does not itself move or destroy an object.