【发布时间】:2020-05-02 13:04:22
【问题描述】:
动态内存分配:int* ptr = new int[3] 是否需要比静态分配:int ptr[3] 更多的 RAM,因为要存储指针多 4 个字节?
【问题讨论】:
-
不,这不是真的。出于完全不同的原因,它需要更多 RAM。
-
是的,但比这更糟糕,因为在您分配内存的堆数据结构中存在额外的开销。谁知道,按照这个速度,你可能很快就会耗尽内存。基本上,静态分配和动态分配之间的重要区别在于它们的行为不同。为您需要的行为选择正确的行为,而不是内存消耗的微小差异。
标签: c++ pointers memory dynamic