3

除了在 C 中执行此操作(现在回头太晚)之外,我还编写了一些支持 C 引用计数的结构和函数。基本上我已经实现了 C++ 风格的智能指针。不过,我的大问题是我在图形中使用这些(具有顶点和边的那种),并且在图形中使用了我的智能指针。因此,如果我有一个节点连接到连接到另一个节点的边缘,但我自己没有更多指向它们的指针,它们每个都保留一个指向彼此的指针。因此,指针计数不会达到 0,它们永远不会释放自己。有没有办法在不完全放弃指针计数的情况下解决这个问题?

4

1 回答 1

0

您应该研究如何实现 boost::weak_ptr 以打破 shared_ptr 的循环。

于 2013-05-11T23:30:41.710 回答