c++ - 如果我不使用 'delete' 会怎样?

标签 c++ memory-management

<分区>

如果我在执行期间分配了一些内存但从未调用 delete 并且程序终止,会发生什么情况?操作系统会释放我分配的所有内存并且不会“浪费”任何内存吗?或者在计算机重新启动之前我会丢失一部分内存吗?

显然,我知道良好的编码习惯是确保删除不需要的内容,所以我不只是问“delete 有什么意义”;我只是想知道我的 RAM 内部发生了什么。

最佳答案

从概念上讲,您会泄漏内存。

在实践中,不过,如果您有一个健全的操作系统,它很可能会在您的流程结束后进行清理。但不要依赖它,真的。

关于c++ - 如果我不使用 'delete' 会怎样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14987318/

相关文章:

c++ - 将 vector size() 带出循环条件进行优化

c++ - 在 C++ 中将 sin(x) 计算为级数形式

c++ - C++11 中更优雅的 boost 积累?

c++ - 使用 new 为 unsigned char 数组分配内存失败

objective-c - @synthesized 保留属性的释放是如何处理的?

c++ - unordered_map 的拷贝是否具有完全相同的存储桶

asp.net - .NET 中的大型 Gen 0 堆,浪费内存?

连接 Activity 的 Android 最佳实践

memory-management - Windows Mobile 6 模拟器更改存储?

c++ - CFileDialog 延迟崩溃