<分区>
Possible Duplicate:
What REALLY happens when you don’t free after malloc?
在 C/C++ 中结束程序时,您必须通过释放指针来清理。如果你不释放内存会发生什么,比如你有一个指向 int 的指针并且在程序结束时没有删除它?内存是否还在使用,只能重启才能释放,还是程序结束时自动释放?在最后一种情况下,如果操作系统为您做了,为什么要释放它?
<分区>
Possible Duplicate:
What REALLY happens when you don’t free after malloc?
在 C/C++ 中结束程序时,您必须通过释放指针来清理。如果你不释放内存会发生什么,比如你有一个指向 int 的指针并且在程序结束时没有删除它?内存是否还在使用,只能重启才能释放,还是程序结束时自动释放?在最后一种情况下,如果操作系统为您做了,为什么要释放它?
最佳答案
当程序结束时,所有内存(已释放或未释放)都由操作系统回收。不过,释放您分配的所有内容仍然是一种很好的做法 - 主要只是为了养成习惯,或者以防万一您扩展程序以使其不会在以前的位置结束。
关于c++ - 释放内存的重要性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/992924/