深入理解 shared_ptr 与 enable_shared_from_this
在 C++ 的智能指针体系中,std::shared_ptr
是一个非常重要的工具,它通过引用计数机制帮助我们管理动态分配的对象生命周期,避免内存泄漏。然而,在某些情况下,我们可能需要从一个对象内部获取指向自身的 shared_ptr
,这时候就需要使用 std::enable_shared_from_this
这个辅助类。
本文将深入讲解 shared_ptr
和 enable_shared_from_this
的原理、用法以及常见误区。
一、回顾 shared_ptr
1. 基本概念
std::shared_ptr
是一种共享所有权的智能指针,多个 shared_ptr
实例可以共同拥有同一个对象。当最后一个拥有该对象的 shared_ptr
被销毁或重置时,对象才会被释放。
#include</