除了在C中这样做(现在回来太晚了)我写了几个结构和函数来支持C的引用计数。本质上我已经实现了C ++风格的智能指针。不过,我最大的问题是我在图形(带顶点和边缘的那种)中使用它们,而在图形中,我使用了智能指针。因此,如果我有一个节点连接到连接到另一个节点的边缘,但我自己没有更多的指针,它们每个都保留一个指向彼此的指针。因此,指针计数不会达到0并且它们永远不会释放自己。有没有办法在不放弃指针计数的情况下解决这个问题?
答案 0 :(得分:0)
你应该研究如何实现boost :: weak_ptr来打破shared_ptr的循环。