Question 11: Smart pointers in C++ [6]
Some implementations of the C++ "memory" library support
unique_ptr in addition to shared_ptr.
The distinguishing feature of unique_ptr is that it cannot
be shared/copied - the original can be the only pointer to the item.
Provide clear examples of where unique pointers would be appropriate and why,
and clear examples of where shared pointers would be more appropriate and why.