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 回答7.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
4 回答826 阅读
2 回答2.1k 阅读✓ 已解决
1 回答898 阅读
1 回答928 阅读
强引用计数(uses)为0时会析构对象,弱引用计数(weaks)为0时会删除ref counter对象,所以创建shared_ptr都会有一个uses和一个weaks