ref: StackOverflow的提问地址
回答中解释了说弱引用计数器对control block的生命周期有影响,这我都明白,new和make_shared不同我也明白,但是我不明白control block为什么需要维护弱引用计数器呢?不维护不就可以不和control block生命周期甚至make_shared中的整个对象的生命周期绑定了呢?
ref: StackOverflow的提问地址
回答中解释了说弱引用计数器对control block的生命周期有影响,这我都明白,new和make_shared不同我也明白,但是我不明白control block为什么需要维护弱引用计数器呢?不维护不就可以不和control block生命周期甚至make_shared中的整个对象的生命周期绑定了呢?
6 回答6.8k 阅读✓ 已解决
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
强引用计数(uses)为0时会析构对象,弱引用计数(weaks)为0时会删除ref counter对象,所以创建shared_ptr都会有一个uses和一个weaks