关于堆溢出问题

[复制链接]
查看11 | 回复1 | 2010-10-13 00:18:52 | 显示全部楼层 |阅读模式
c++下如果不停地new对象而不进行delete的话,会出现什么情况??
我的想法是:不停new对象必然导致很多内存碎片,内存泄露是在所难免的,但是程序会不会出现崩溃??物理内存是否可能分配完??如果分配完,是否可能分配到虚拟内存上??内存是否会溢出??
望高人解答。

回复

使用道具 举报

千问 | 2010-10-13 00:18:52 | 显示全部楼层
对于这个问题,我想应该给你说说操作系统吧,操作系统都是段页式结构(windows),物理内存已经被完全替换为了虚拟内存,其中访问的逻辑地址就是虚拟地址空间,然后通过页表对应得到主存中的值。
不delete的话,内存肯定会出现泄漏,但是基本上物理内存不会消耗完的,你试试一个程序:int *p;while(1){p=(int *)malloc(sizeof(int));}要很久才会觉得系统变慢了,呵呵希望能够给你帮助
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行