【发布时间】:2011-07-08 13:57:24
【问题描述】:
我知道引用计数器技术,但直到今天在阅读名为“编程语言概念”的书时才听说过标记扫描技术。
根据书:
垃圾回收的原始标记-清除过程操作如下:运行时系统根据请求分配存储单元,并根据需要断开与单元的指针,而不考虑存储回收(允许垃圾积累),直到它分配了所有可用的细胞。此时,开始进行标记清除过程,以收集在堆中漂浮的所有垃圾。为了简化这个过程,每个堆单元都有一个额外的指示位或字段,供收集算法使用。
根据我有限的理解,C++ 库中的智能指针使用引用计数技术。我想知道 C++ 中是否有任何库使用这种智能指针实现?由于这本书纯粹是理论性的,我无法想象实现是如何完成的。一个证明这个想法的例子将非常有价值。如果我错了,请纠正我。
谢谢,
【问题讨论】:
标签: c++ garbage-collection mark-and-sweep