- 主题:shared_ptr 能不能在每次ref count变化的时候,调用自定义函数
比如我和遗留代码打交道, 用shared_ptr抱起来,但是每次refcnt +1 的时候, 我需要call xxxx->add_ref(), 每次refcnt-1的时候,我需要call xxxx->release_ref(), shared_ptr有没有这个的hook方法?
--
FROM 36.170.45.*
shared_ptr的引用计数,和xxxx的引用计数可以不相等吧
shared_ptr构造时执行一次xxxx->addref,析构时执行一次xxxx->release
shared_ptr能自定义的就是个deleter
--
修改:z16166 FROM 222.129.205.*
FROM 60.12.138.*
可以试试instrusive_ptr from boost
【 在 fly2never 的大作中提到: 】
: 比如我和遗留代码打交道, 用shared_ptr抱起来,但是每次refcnt +1 的时候, 我需要call xxxx->add_ref(), 每次refcnt-1的时候,我需要call xxxx->release_ref(), shared_ptr有没有这个的hook方法?
--
FROM 98.228.215.*
可以看看webrtc中的ref_counted和ref_counted_base的实现,应该是复制几个头文件就可以了,它这边是一个基于atomic的引用计数.
--
FROM 47.251.4.*