第5章 堆与复制构造函数 5.1 堆 5.2 需要new和delete的原因 5.3 默认的复制构造函数 5.4 自定义复制构造函数 5.1 堆 Heap 堆是按动态方式分配的内存区域。 在程序中需要空间存放数据时,就从堆中申请动态内存单元,使用完毕后释放动态内存单元。 这种动态内存分配方式能够显著地提高内存的利用率。 C++程序的内存布局 栈 Stack 栈的内存管理严格遵循后进先出(LIFO: Last in, First Out)的顺序, 即释放栈中对象所占内存时的顺序刚好与给这些对象分配栈中内存时的顺序相反,这一点正是实现函数调用所需要的,所以栈用来实现函数调用。 从栈中分配内存效率特别高,栈内存分配运算内置于处理器的指令集中,效率很高。对栈的充分利用是C/C++编译程序能产生优质高效代码的原因之一。 动态内存分配 堆的内存是以动态分配方式管理的。 所谓动态分配的内存是在程序运行期间获得的内存。 动态存储分配方式允许我们的程序可以在执行期间根据实际需要存放的数据量来申请合适数量的内存单元。 这种动态分配方式不但能够提高内存的利用率,而且对于链表和二叉树等动态数据结构特别有用。 动态内存申请和释放 用函数malloc( ) 分配的动态内存必须用函数free( )释放; 用new申请的动态内存必须用delete 释放。 因为在C++程序中,从堆中获取的内存单元不
您可能关注的文档
最近下载
- 2026年街道党校党员教育培训工作计划.docx VIP
- 某医院住院楼供配电系统课程设计.doc VIP
- (正式版)DB32∕T 4469-2023 《港口危险货物码头企业安全生产隐患排查治理规程》.docx VIP
- 北师大版小学六年级数学上册教案 全册.docx VIP
- 社会工作专业关系建立.ppt VIP
- AP微观经济学 2016年真题 (选择题+问答题) AP Microeconomics 2016 Released Exam and Answers (MCQ+FRQ).pdf VIP
- 第四单元 第18课 排序计算有方法 教案 义务教育版(2024)信息科技四年级全一册.docx VIP
- 人教版(2024)七年级下册英语期中质量检测试卷(含答案).docx VIP
- 智能体育公园的规划设计与运营管理模式创新研究.docx VIP
- 毕业设计(论文)-哈尔滨市体育公园规划设计.docx VIP
原创力文档

文档评论(0)