什么垃圾收集器可用于C++?

Bar*_*ski 6 c++ garbage-collection

什么垃圾收集器可用于C++?你在使用它们吗?结果如何?

rme*_*dor 6

所述升压库包括一些shared_ptr的东西,基本上作为参考计数垃圾收集器.如果你接受C++设计的RAII原则,那和auto_ptr将满足你对"垃圾收集器"的需求.


Luc*_*tte 5

维基百科上列出几个C++ GC .

但是,我不使用任何,RAII也是我的朋友.


Phi*_*ant 5

Boehm垃圾收集器非常适合C,但在C++下使用很棘手.查看http://www.hpl.hp.com/personal/Hans_Boehm/gc/gcinterface.html上的"C++界面"部分.

我的意见是,如果你需要垃圾收集,请选择内置垃圾的语言.

C++的最佳通用解决方案是共享指针(例如来自boost),同时处理循环依赖.你可以做两件事:1.设计没有圆形依赖关系的东西2.用"linch-pin"设计东西,打破圆圈以允许回收对象

要么处理真正糟糕,错综复杂,难以调试C++垃圾收集器的问题,要么处理在完成对象时释放对象的更简单的经典问题.