是否有任何静态分析工具可以帮助检测 shared_ptr<> 循环引用?
即使这样的工具无法检测到复杂的情况,它仍然可以用于消除简单的情况。
是否有任何静态分析工具可以帮助检测 shared_ptr<> 循环引用?
即使这样的工具无法检测到复杂的情况,它仍然可以用于消除简单的情况。
不知道这些工具的存在,但这里有一些关于这个问题的好想法:
有效的对象生命周期管理的关键是拥有一个非循环的对象所有权图。然后你在下降时使用共享指针,在横向移动时使用弱指针,在上升时使用弱指针(或有时是普通指针)。