我读了很多关于智能ptr的文章,并决定在我自己的实现中使用intrusive_ptr进行引用计数。
说,我现在不得不面对另一个问题,如何解决引用循环考虑到weak_ptr不能与auto_ptr类一起使用。
在弱引用应该存储的地方使用原始指针来解决循环问题是一件好事吗?这样做的结果是,如果强引用被删除,弱引用将不会被通知/归零,但我认为正确地构建依赖关系可能是一个很好的选择,但我可能在这里错了。
只用shared_ptr
。它更容易使用,并与您提到的weak_ptr
一起工作。也许有一天你会发现你想要使用侵入式,但在那之前,保持简单。