堆和自由存储有什么区别?

新手上路,请多包涵

最初是对@Als answer here 的迂腐战争,它也在 C++ 聊天室中引发了讨论。

Herb Sutter 的 这篇文章 区分了两者,但也有十多年的历史了,因为它显然是在 2000 年之前写的,并且还谈到了标准 草案,它只能指 C++98 草案。不过,作为委员会的一员,我仍然希望 Herb 能够了解这些东西。

我知道 这个这个 问题/答案,但是第二个只是引用了 Herb 的文章,而第一个引用了另一个简单地拒绝使用“堆”一词的来源,也就是它们都不完全令人满意。另外,我在 SO 上找不到任何 free-storefreestore 标签(直到这个问题,我现在创建了前一个)。

现在,如果有的话, 真正 的区别是什么?

原文由 Xeo 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 478
1 个回答

好吧,当前的 C++ 标准只使用术语“自由存储”——标准中“堆”的唯一用途是描述标准库中的堆数据结构。因此,在尝试准确地讨论 C++ 问题时,“堆”并不是一个非常有用的术语,尽管当然每个人都这样做。

原文由 user2100815 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题