在 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</