【发布时间】:2011-06-25 20:49:15
【问题描述】:
可能重复:
C++ Which is faster: Stack allocation or Heap allocation
从内存分配的角度来看,堆栈内存或堆内存哪个更有效?这取决于什么?
显然,动态分配与堆栈分配相比存在开销。使用堆涉及找到可以分配内存的位置和维护结构。在堆栈上很简单,因为您已经知道将元素放在哪里。我想了解在最坏情况下允许动态分配的支持结构的开销(以毫秒为单位)是多少?
【问题讨论】:
-
有什么效率?
-
投票结束作为 NARQ。
-
显而易见的答案是堆栈,但堆栈本身控制着您分配的任何东西的生命周期(可能非常有限)。
-
我认为这是一个非常合理的问题。如果您还不确定答案是什么(这取决于您在做什么),就没有办法提出更细致入微的问题。我认为我们应该重新打开它。
-
这是个错误的问题。在 99% 的情况下,这种差异不会对您产生任何影响。动态或自动的问题应仅根据其用法来完成。在 1% 的情况下,您知道这很重要意味着您知道如何做适当的事情。
标签: c++ memory compiler-construction