如何在C++中实现垃圾收集器

Amm*_*kun 5 c++ garbage-collection

可能重复:
如何在C++中实现垃圾收集

我最近在一次采访中被问到如何在c ++中实现垃圾收集器.

我的答案是在分配的空间中预先分配内存池和构造对象.还用于存储分配给指针所指向的存储器位置之前的字节中的对象的存储器的大小.

面试官对答案并不满意.

我后来意识到我的解决方案实际上是试图通过预先分配内存池并使用该内存来避免垃圾收集器的主要目标.

但我认为用C++实现垃圾收集器很困难而不必修改编译器.

有什么建议?提前致谢!!!

编辑 似乎其他人也遇到了类似的问题,大量聪明的家伙在这里发表了自己的观点

Yoc*_*mer 2

您可以阅读有关shared_ptr结构的信息。

它实现了一个简单的引用计数垃圾收集器。

如果你想要一个真正的垃圾收集器,你可以重载new运算符。

创建一个类似于shared_ptr的结构体,称之为Object。

这将包装创建的新对象。现在通过重载其运算符,您可以控制 GC。

您现在需要做的就是实现众多GC 算法之一