0

在 C++ 规范中,术语“自动”和“动态”存储可以说分别优于“堆栈”和“堆”,因为 C++ 规范不要求使用堆栈/堆模型专门实现分配/解除分配。

除了堆栈和堆之外,还有其他用于分配/解除分配的模型吗?

4

2 回答 2

1
于 2016-06-06T11:59:48.573 回答
0

术语意见似乎是基于错误的假设。

关于分配方案,很难理解您所说的“堆”是什么意思,但如果您的意思是动态分配对象的显式释放,那么 C++ 从未正式要求这样做。当垃圾收集在 C++11 中获得一些支持时,这是因为它已经是经过验证的技术,例如用于 C++03的Boehm 垃圾收集器。

C++ 确实需要并且一直需要一个堆栈,但不需要该堆栈的任何特定实现。通过细粒度的协作多任务处理,我们可能会看到使用基于链表的堆栈的实现。不过,截至 medio 2016 年,我还不知道这样的事情。

于 2016-06-06T11:47:27.897 回答