找回密码
 欢迎注册
查看: 9397|回复: 4

[转载] 一个内存分配问题——转自CSDN

[复制链接]
发表于 2010-4-27 11:33:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
http://topic.csdn.net/u/20100415 ... 0-a4110cbf8419.html

我想了好久也没想出第一问怎么证明。

ps:我怎么才能把本地的图片贴上来啊?

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-4-27 12:05:10 | 显示全部楼层
ps:我怎么才能把本地的图片贴上来啊?

http://public.bay.livefilestore.com/y1pcuL ...
gogdizzy 发表于 2010-4-27 11:33


发帖时,在高级模式下,左下角按钮右侧有个“添加附件”的链接。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-4-27 15:54:07 | 显示全部楼层
什么叫做“该程序可能需要的总内存大小”呢?
比如说:有一个程序,申请了1个单位的内存,然后释放掉,然后又申请了1个单位的内存,然后又释放掉,然后程序结束。那么“该程序可能需要的总内存大小”是1还是2呢?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-4-27 16:21:02 | 显示全部楼层
如果是1,就是说指的是“该程序在某一时刻可能需要的总内存大小”,
那么,如果程序分配内存是这样的:
p1=new 3;//执行后,所占内存的高端:3,总内存:3
p2=new 1;//4,4
p3=new 3;//7,7
p4=new 1;//8,8
p5=new 3;//11,11
p6=new 1;//12,12
delete p1;//12,9
delete p3;//12,6
delete p5;//12,3
p7=new 4;//16,7
p8=new 4;//20,11
delete p7;//20,7
p9=new 5;//25,12.这时如果只有24的内存,就要溢出了。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-4-27 20:10:25 | 显示全部楼层
zgg你太帅了,我当时一直觉得这是个真命题,其实我也是按照你给的那个模式分配内存的,只是想从理论上证明是对的,没有找个实际值试试。没想到你一个例子就给它驳倒了。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-5-2 07:30 , Processed in 0.089863 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表