- 1
- 0
- 约6.39千字
- 约 54页
- 2017-02-09 发布于湖南
- 举报
第七章运行时刻环境
例子 相邻的存储块A、B、C 当回收B时,通过对free/used位的查询,可以知道B左边的A是空闲的,而C不空闲。 同时还可以知道A、B合并为长度为300的块。 修改双重链表,把A替换为A、B接合后的空闲块 注意:双重链表中一个结点的前驱并不一定是它邻近的块 处理手工存储管理 两大问题: 内存泄露:未能删除不可能再被引用的数据 悬空指针引用:引用已被删除的数据 其他问题 空指针访问/数组越界访问 解决方法: 自动存储管理 正确的编程模式 正确的编程模式(1) 对象所有者(Object ownership) 每个对象总是有且只有一个所有者(指向此对象的指针);只有通过Owner才能够删除这个对象; 当Owner消亡时,这个对象要么也被删除,要么已经被传递给另一个owner。 语句v=new ClassA;创建的对象的所有者为v; 即将对v进行赋值的时刻(v的值即将消亡) 要么v已经不是它所指对象的所有者;比如g=v可以把v的ownership传递给g 要么需要在返回/赋值之前,执行delete v操作; 编程时需要了解各个指针在不同时刻是否owner。 防止内存泄漏,避免多次删除对象。不能解决悬空指针问题。 正确的编程模式(2) 引用计数 每个动态分配的对象附上一个计数:记录有多少个指针指向这个对象; 在赋值/返回/参数传递时维护引用计数的一致性; 在计数变成0之时删除这个对象;
您可能关注的文档
- 第8章组合变流电路.ppt
- 第八节正弦级数和余弦级数.ppt
- 第二讲matlab的数值计算.ppt
- 第二节定积分的运算.ppt
- 第二章顾客价值与顾客满意.ppt
- 第二章软件需求分析.ppt
- 第二章系统的数学模型.ppt
- 第九节正弦级数和余弦级数.ppt
- 第九章分子结构.ppt
- 第九章群体类.ppt
- 安全生产管理员能力培训.pptx
- 咽异感症与心理健康促进.pptx
- 咽异感症与扁桃体炎的鉴别.pptx
- 咽异感症与抑郁症的关系.pptx
- 咽异感症与环境污染的关系.pptx
- 《生动的数据》课件-2025-2026学年沪教版(新教材)小学美术三年级下册.pptx
- 《校园微电影宣传策划》教学课件-2025-2026学年人美版(北京)(2024)初中美术七年级下册.pptx
- 《 春华秋实绘花鸟》教学课件-2025-2026学年人美版(北京)(2024)初中美术七年级下册.pptx
- 管理层安全培训策略.pptx
- 《把“大自然”穿在身上》教学课件-2025-2026学年人美版(北京)(2024)初中美术七年级下册.pptx
最近下载
- 深度解析(2026)GBT 18802.12-2024低压电涌保护器(SPD) 第12部分:低压电源系统的电涌保护器 选择和使用导则.pptx VIP
- 2024年广州市高二数学竞赛题及答案.pdf VIP
- 水泥稳定碎石工程首件总结.doc VIP
- 全电动注塑机;合模机构;滚珠丝杠.doc VIP
- 精品解析:2025年陕西省中考数学试题(含解析) .pdf VIP
- 菱士达LSD-G7000系列说明书.pdf
- 三国时期各州郡地图(含三国全地图)(最全).doc VIP
- 复合肥生产设备设施安全隐患排查治理清单.pdf VIP
- 初级家政服务员教材.pdf VIP
- 重庆市北碚区西南大学附属中学校2023-2024学年七年级下学期期中数学试题(原卷版).pdf VIP
原创力文档

文档评论(0)