你怎麼不先從設計開始討論?會用到 std::shared_ptr大部分情況就是懶得好好設計你有好好釐清 ownership 嗎?std::shared_ptr 的 share 是 share responsibility不是 share object, 首先為了 share object 用std::shared_ptr 就算是誤用, 為了讓 std::functionown object 你有必須這樣做的理由嗎? 還是 lifetime還沒分析過就直接用了?那首先就要問到, 為什麼你要連絡的對象會比你還早被解構? 是不是你在基本上就無法掌握控制每個物件的生命週期, 導致只能用最簡單的方法: 讓 shared_ptr 幫你處理這些複雜事?一般分享物件都是用指標/參考, 為什麼你要用智慧指標