读书人

new 动态分配有关问题

发布时间: 2012-10-17 10:25:47 作者: rapoo

new 动态分配问题
在C++中 可以通过new来动态分配;
而只能通过delete来释放,否则分配的内存占用一直存在!
我的问题是:
这里的“一直存在”的时间范围是所编程序的执行时间,还是退出程序后还存在(即退回到windows中该分配的内存是否一直占用?)

我是有一种担心:
如果是后者的话,电脑的可用内存不是越来越少吗?(如果忘记加delect语句的话)

[解决办法]
程序退出后会释放的!
[解决办法]
程序进程一旦退出,所占用的内存就会释放。
[解决办法]
是“所编程序的执行时间”。

在windows下,每个程序有4G的地址空间,注意是地址空间,而不是物理内存空间。4G空间,只有一部分是程序可用的,其它是系统用的,就算把地址空间全部分配出去,那也是该程序没有空间了而已。所以说“电脑的可用内存不是越来越少吗”,不会出现,关键在于系统如何给进程(运行的程序)分配物理空间。
LZ没学操作系统吧。

读书人网 >C++

热点推荐