Boehm垃圾收集器非常适合C,但在C++下使用很棘手.查看http://www.hpl.hp.com/personal/Hans_Boehm/gc/gcinterface.html上的"C++界面"部分.
我的意见是,如果你需要垃圾收集,请选择内置垃圾的语言.
C++的最佳通用解决方案是共享指针(例如来自boost),同时处理循环依赖.你可以做两件事:1.设计没有圆形依赖关系的东西2.用"linch-pin"设计东西,打破圆圈以允许回收对象
要么处理真正糟糕,错综复杂,难以调试C++垃圾收集器的问题,要么处理在完成对象时释放对象的更简单的经典问题.