在一个被 shared_ptr 管理的对象的内部获取自己的 shared_ptr
继承 enable_shared_from_this 类, 调用 shared_from_this() 函数生成 shared_ptr
struct Good : public std::enable_shared_from_this<Good>
{
void fun()
{
shared_ptr<Good> sp{shared_from_this()};
cout<<sp->count()<<endl;
}
};
shared_ptr<Good> sp{make_shared<Good>()};//--------------*1*
sp->fun(); //输出为2
原文:https://www.cnblogs.com/zhilong233/p/13291806.html