gpt4 book ai didi

c++ - 3rd-party 垃圾收集器中使用的方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:25:57 25 4
gpt4 key购买 nike

我写信是为了澄清本网站上的一些评论。

1) 我知道 C++ 没有垃圾收集器。有人说 C++ 是在垃圾收集器思想出现之前发明的,这就是原因。真的吗?我认为这是有道理的。

2) 每当讨论垃圾收集器时,都会提出智能点(例如boost::share_ptr)作为一种方式。我曾经坚信引用计数是实现垃圾收集器的一种方式,但有人说,智能点不是垃圾收集器的实现。怎么回事?

3) 有人说为什么C++没有包含垃圾收集器是因为它很难,很多问题无法解决。但是,有人说有 3rd-party 垃圾收集器可用,无论是商业的还是免费的。那么这些 3rd-party 是如何处理这些问题的呢?

如果有人能澄清我的困惑,我将不胜感激。

非常感谢!

最佳答案

  1. 不,垃圾收集比 C++ 早得多(许多 Lisp 版本在 60 年代就有它)。

  2. 引用计数是实现垃圾收集的一种方法,但它在性能方面相当差(新的 Unladen Swallow 项目,用于加速 CPython 解释器,包括从引用计数转向更好的垃圾收集实现 --显着的性能提升)。

  3. Boehm C 和 C++ 的收集器使用保守 方法:简而言之,任何看起来像地址的东西都被认为是地址(因此不会收集它可能“指向”的任何东西)。阅读我提供的 URL 上的页面及其传出链接,了解有关该主题的更多信息。

关于c++ - 3rd-party 垃圾收集器中使用的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2323591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com