shared_ptr_demo