During reallocation, a container re-constructs its elements in a new memory location and destroys the original elements by invoking their destructor. Since the destructor of auto_ptr<> deletes its bound object, auto_ptr<> members are invalidated after a reallocation. For this reason, auto_ptr<> objects should not be stored in a container.