在C ++中使用shared_ptr进行虚拟销毁