Auto_ptr Class
There is an object that must dynamically allocate another memory value in order to perform its intended task
But the lifetime of the dynamic value is tied to the lifetime of the original object; it exists as long as the original objects exists, and should be eliminated when the original object ceases to exist.
To simplify the management of memory, the standard library implements a useful type named auto_ptr.