本题用于理解 C++ 智能指针的核心原理,先从 shared_ptr 开始。
当前阶段只整理概念文档,不做完整源码实现。后续可以继续扩展:
- 手写简化版
unique_ptr - 手写简化版
shared_ptr - 手写简化版
weak_ptr - 引用计数控制块
- 循环引用问题
docs/SHARED_PTR.md:shared_ptr原理、引用计数、使用场景和循环引用问题
学习完 shared_ptr 后,需要能回答:
shared_ptr解决了什么问题?- 什么是共享所有权?
- 什么是引用计数?
- 为什么最后一个
shared_ptr销毁时对象才释放? shared_ptr为什么可能导致循环引用?weak_ptr和shared_ptr的关系是什么?