C++动态内存分配

Ikk*_*kke 0 c++

我只是在学习动态内存分配,但有一件事我想解释一下.

动态分配的一个用途是动态大小的数组,这对我来说很清楚.另一种用途是用于普通物体.

应该使用它的情况是什么?是因为通常对象被推到堆栈上,并且可能被弹出?

您如何识别应该使用动态内存分配的情况?

Jar*_*Par 7

动态内存的另一个问题是生命周期.动态内存(new,malloc等)存在于堆上.它将保持活动状态,直到通过适当的内存函数明确删除一段代码.这对于长寿命对象非常有用.

非动态内存或堆栈具有非常明确的生命周期.堆栈上分配的内存仅在该方法执行时才会存在.方法完成后,内存将自动回收.