c++ delete[] 内存没降下来
时间: 2024-01-06 15:03:11 浏览: 68
删除文件恢复C++实现
5星 · 资源好评率100%
如果你使用了 `delete[]` 删除一个数组的内存,但是内存使用量没有下降,可能有以下几种原因:
1. 内存泄漏:你可能没有正确地释放所有的内存。在使用 `new` 或 `new[]` 创建动态内存时,应该使用 `delete` 或 `delete[]` 来释放内存。如果你忘记了释放一些内存,那么内存使用量就不会减少。
2. 操作系统缓存:操作系统会缓存一些已经分配的内存,以便将来更快地分配相同大小的内存。这些缓存可能会导致内存使用量不会立即下降。
3. 内存碎片:如果你多次分配和释放不同大小的内存块,可能会导致内存碎片。这意味着有很多小的未使用的内存块,但它们的总大小不足以被操作系统回收。这种情况下,内存使用量可能不会下降。
如果你确定没有内存泄漏,那么可以考虑等待一段时间,看看操作系统是否会释放缓存的内存或者使用内存碎片整理工具来解决内存碎片问题。
阅读全文