我只是在学习动态内存分配,但有一件事我想解释一下.
动态分配的一个用途是动态大小的数组,这对我来说很清楚.另一种用途是用于普通物体.
应该使用它的情况是什么?是因为通常对象被推到堆栈上,并且可能被弹出?
您如何识别应该使用动态内存分配的情况?
动态内存的另一个问题是生命周期.动态内存(new,malloc等)存在于堆上.它将保持活动状态,直到通过适当的内存函数明确删除一段代码.这对于长寿命对象非常有用.
非动态内存或堆栈具有非常明确的生命周期.堆栈上分配的内存仅在该方法执行时才会存在.方法完成后,内存将自动回收.