2015-11-07 60 views
1

我知道,如果您不再需要缓冲区来释放内存,那么最好在代码中删除缓冲区。如果你没有和你的程序完成执行会发生什么?在关机之前,缓冲区是否仍占用内存空间?或者系统是否通过垃圾回收自动清除它?退出时删除缓冲区

学习对我自己的C++所以请原谅我noobishness

+0

如果你有一个像Linux或FreeBSD这样的真正的操作系统,当你的进程退出时它会回收资源。 –

+0

但是,至少在调试模式下,至少在调试模式下回收它们是件好事,因为让操作系统清理存在的变量会导致更难以使用内存分析工具(如'valgrind')来查找应该出现的泄漏早先回收。 –

+0

这似乎是不可思议的,之前没有问过,但我找不到重复。可能没有用正确的关键字进行搜索。无论如何,借调@BenVoigt说。 –

回答

1

每个非玩具操作系统将跟踪进程分配的所有内存,并回收所有的进程退出的时候。