你怎么不先从设计开始讨论?会用到 std::shared_ptr大部分情况就是懒得好好设计你有好好厘清 ownership 吗?std::shared_ptr 的 share 是 share responsibility不是 share object, 首先为了 share object 用std::shared_ptr 就算是误用, 为了让 std::functionown object 你有必须这样做的理由吗? 还是 lifetime还没分析过就直接用了?那首先就要问到, 为什么你要连络的对象会比你还早被解构? 是不是你在基本上就无法掌握控制每个物件的生命周期, 导致只能用最简单的方法: 让 shared_ptr 帮你处理这些复杂事?一般分享物件都是用指标/参考, 为什么你要用智慧指标