第14章 堆与拷贝构造函数 14.1 关于堆 14.2 需要new和delete的原因 14.3 分配堆对象 14.4 拷贝构造函数 14.5 默认拷贝构造函数 14.6 浅拷贝与深拷贝 14.7 临时对象 14.8 无名对象 14.9 构造函数用于类型转换 14.1 关于堆 C++程序的内存格局通常分为四个区: (1)全局数据区(data area): 全局变量、静态数据、常量存放在全局数据区。 (2)代码区(code area) : 所有类成员函数和非成员函数代码存放在代码区。 (3)栈区(stack area): 为运行函数而分配的局部变量、函数参数、返回数据、返回地址等存放在栈区。 (4)堆区(即自由存储区)(heap area): 其余的空间都是堆区。 14.2 需要new和delete的原因 分配内存空间、撤销内存空间 C的用法: #include malloc.h void* malloc(size_t); void free(void*); C++的用法: new delete 从C++的立场来看,不能用malloc()函数的一个原因是,它在分配空间的时候不能调用构造函数。类对象的建立是分配空间、构造结构以及初始化的三位一体,它们统一由构造函数来完成。
您可能关注的文档
最近下载
- DB15T3801-2024 内蒙古公共建筑节能设计标准.pdf VIP
- 《首饰 指环尺寸 定义、测量和命名》标准修订发展报告.docx VIP
- 新解读《GB_T 11888 - 2021首饰 指环尺寸 定义、测量和命名》最新解读.pptx VIP
- 仪器设备期间核查方法.pptx VIP
- GB46768-2025《有限空间作业安全技术规范》解读_-60页.pptx
- 仪器设备期间核查课件.ppt VIP
- (正式版)DB37∕T 2950-2017 《首饰手镯尺寸定义、测量和命名》.docx VIP
- 首饰 指环尺寸 定义、测量和命名标准立项修订与发展报告.docx VIP
- 仪器设备维护与保养培训.pptx VIP
- 《建筑设计防火规范》GB50016-2014.pptx VIP
原创力文档

文档评论(0)