小编INE*_*ERS的帖子

什么决定堆内存分配的位置?

让我澄清一下:我了解 new 和 delete(和 delete[])是如何工作的。我了解堆栈是什么,并且了解何时在堆栈和堆上分配内存。

然而,我不明白的是:在堆上分配内存的位置。我知道我们应该把堆看作是一个几乎无限的 RAM 大池,但肯定不是这种情况。

什么控制选择堆内存的存储位置以及它如何选择?

另外:术语“将内存返回给操作系统”是我经常遇到的一个。这是否意味着堆在所有进程之间共享?

我之所以关心这一切,是因为我想更多地了解内存碎片。我认为在学习如何处理内存碎片之前了解堆的工作原理是个好主意,因为我没有足够的内存分配经验,也没有 C++ 直接深入研究。

c++ memory memory-management heap-memory memory-fragmentation

1
推荐指数
1
解决办法
237
查看次数