C++何时在堆上进行分配?

use*_*112 1 c++ heap stack memory-management

在问另一个问题时(以及之前),我想知道如何判断是在堆上创建对象还是将其作为堆栈中的对象?我应该问自己有关正确分配的对象?

Ste*_*ard 8

如果必要的话,把它放在堆上,如果可以的话,把它放在堆栈上.

你需要把什么样的东西放在堆上?任何长度不一的东西.任何可能需要为null的对象.任何非常大的东西,以免造成堆栈溢出.


Ed *_*eal 6

简单回答.

当它超出范围时,你想让它闲逛并能够使用吗?

  • 应该注意的是,即使它们满足其他标准,将巨大的对象放在堆栈上也不是一个好主意.特别是在c ++中没有超出你的堆栈限制的乐趣.. (2认同)