在 C++ 规范中,术语“自动”和“动态”存储可以说分别优于“堆栈”和“堆”,因为 C++ 规范不要求使用堆栈/堆模型专门实现分配/解除分配。
除了堆栈和堆之外,还有其他用于分配/解除分配的模型吗?
在 C++ 规范中,术语“自动”和“动态”存储可以说分别优于“堆栈”和“堆”,因为 C++ 规范不要求使用堆栈/堆模型专门实现分配/解除分配。
除了堆栈和堆之外,还有其他用于分配/解除分配的模型吗?
术语意见似乎是基于错误的假设。
关于分配方案,很难理解您所说的“堆”是什么意思,但如果您的意思是动态分配对象的显式释放,那么 C++ 从未正式要求这样做。当垃圾收集在 C++11 中获得一些支持时,这是因为它已经是经过验证的技术,例如用于 C++03的Boehm 垃圾收集器。
C++ 确实需要并且一直需要一个堆栈,但不需要该堆栈的任何特定实现。通过细粒度的协作多任务处理,我们可能会看到使用基于链表的堆栈的实现。不过,截至 medio 2016 年,我还不知道这样的事情。