7

是否有任何静态分析工具可以帮助检测 shared_ptr<> 循环引用?

即使这样的工具无法检测到复杂的情况,它仍然可以用于消除简单的情况。

4

1 回答 1

4

不知道这些工具的存在,但这里有一些关于这个问题的好想法:

有效的对象生命周期管理的关键是拥有一个非循环的对象所有权图。然后你在下降时使用共享指针,在横向移动时使用弱指针,在上升时使用弱指针(或有时是普通指针)。

于 2010-09-29T19:20:19.383 回答