现在的代码库,用的是后者,自己实现的引用计数对象,
RefCountPtr 配合 RefCountBase。审代码发如下:
RefCountPtr<T> ptrT = T::Create();
auto p = ptrT.get();
RefCountPtr<T> ptrT2(p);
我一直用stl的实现,所以第一反应典型会double free。
但并不会。第三句还是将引用计数升为2了。因为计数在T对象内。
觉得很有意思。这是引用计数对象设计原始目标之一,还是意外的好处?
【 在 lambdai 的大作中提到: 】
: 挺多限制
: 在sharedptr能被隐藏起来,不需要对外转成sharedptr
: 并且保证业务逻辑保证不会循环引用
: ...................
--
FROM 117.39.231.*