用new分配的内存在程序结束时是不是由系统回收了啊?

来源:百度知道 编辑:UC知道 时间:2024/06/02 02:29:00
那么为什么还要delete呢

那是因为操作系统已经在这方面设计得比较完善了,所以就算你在程序中new一些空间没delete,程序退出时操作系统会回收所有的空间的

不过好习惯就是new出来的空间用完后就delete,如果你的程序是需要长时间运行的,new空间而不释放将会导致系统可用内存非常紧张,那操作系统就要频繁地进行换行操作了,这样一来系统性能就降低了

程序结束时候是释放了(等于程序都没了,还有什么内存占用?),但程序运行期间如果你new的东西不用了,还是要释放掉的.
一般我们开发服务器程序的时候,一定要注意内存问题,因为服务器是长期运行的,如果光new不释放,那就完蛋了:)

vc的managed C++才能系统回收,正常的C++ 要delete,不然就是memory leak

managed C++要vs2003之后才有

安全第一