最初是对@Als answer here 的迂腐战争,它也在 C++ 聊天室中引发了讨论。
Herb Sutter 的 这篇文章 区分了两者,但也有十多年的历史了,因为它显然是在 2000 年之前写的,并且还谈到了标准 草案,它只能指 C++98 草案。不过,作为委员会的一员,我仍然希望 Herb 能够了解这些东西。
我知道 这个 和 这个 问题/答案,但是第二个只是引用了 Herb 的文章,而第一个引用了另一个简单地拒绝使用“堆”一词的来源,也就是它们都不完全令人满意。另外,我在 SO 上找不到任何 free-store
或 freestore
标签(直到这个问题,我现在创建了前一个)。
现在,如果有的话, 真正 的区别是什么?
原文由 Xeo 发布,翻译遵循 CC BY-SA 4.0 许可协议
好吧,当前的 C++ 标准只使用术语“自由存储”——标准中“堆”的唯一用途是描述标准库中的堆数据结构。因此,在尝试准确地讨论 C++ 问题时,“堆”并不是一个非常有用的术语,尽管当然每个人都这样做。