C++ enable_shared_from_this使用详解
enable_shared_from_this
是 C++ 标准库中提供的一个辅助类模板,主要用于支持对象从成员函数中安全地获得一个 shared_ptr
指向它自己。它的作用是允许对象在其成员函数内部生成指向它本身的 shared_ptr
,从而确保对象在生命周期管理中的正确性,特别是在对象存在于多个地方并且需要共享所有权时。
enable_shared_from_this作用
1. 共享所有权:
enable_shared_from_this
允许对象通过调用 shared_from_this()
方法,生成一个指向该对象的 shared_ptr
。这样可以确保对象的生命周期由 shared_ptr
管理,避免因使用裸指针导致的悬空指针或内存泄漏问题。
2. 避免裸指针和手动管理生命周期:
在对象的成员函数内部,如果需要将对象的指针传递给其他地方,并希望这个指针的生命周期由 shared_ptr
管理,可以使用 enable_shared_from_this
来安全地获得 s