Skip to content

Latest commit

 

History

History
28 lines (19 loc) · 792 Bytes

File metadata and controls

28 lines (19 loc) · 792 Bytes

智能指针

题目定位

本题用于理解 C++ 智能指针的核心原理,先从 shared_ptr 开始。

当前阶段只整理概念文档,不做完整源码实现。后续可以继续扩展:

  • 手写简化版 unique_ptr
  • 手写简化版 shared_ptr
  • 手写简化版 weak_ptr
  • 引用计数控制块
  • 循环引用问题

当前文档

  • docs/SHARED_PTR.mdshared_ptr 原理、引用计数、使用场景和循环引用问题

学习目标

学习完 shared_ptr 后,需要能回答:

  • shared_ptr 解决了什么问题?
  • 什么是共享所有权?
  • 什么是引用计数?
  • 为什么最后一个 shared_ptr 销毁时对象才释放?
  • shared_ptr 为什么可能导致循环引用?
  • weak_ptrshared_ptr 的关系是什么?