usage example for unique_ptr and shared_ptr.