- 1
- 0
- 约4.26千字
- 约 5页
- 2019-11-14 发布于湖北
- 举报
C++ 中,内存分为 5 个区:堆、栈、自由存储区、全局 / 静态存储区和常量存储区。
栈:是由编译器在需要时自动分配,不需要时自动清除的变量存储区。通常存放局部变量、
函数参数等。
堆:是由 new 分配的内存块,由程序员释放(编译器不管) ,一般一个 new 与一个 delete
对应,一个 new[] 与一个 delete[] 对应。如果程序员没有释放掉,资源将由操作系统在程序
结束后自动回收。
自由存储区:是由 malloc 等分配的内存块,和堆十分相似,用 free 来释放。
全局 /静态存储区:全局变量和静态变量被分配到同一块内存中(在 C 语言中,全局变量又
分为初始化的和未初始化的, C++ 中没有这一区分) 。
常量存储区:这是一块特殊存储区,里边存放常量,不允许修改。
(注意:堆和自由存储区其实不过是同一块区域, new 底层实现代码中调用了
malloc , new 可以看成是 malloc 智能化的高级版本)
堆与栈的讨论:
管理方式:
堆中资源由程序员控制(
您可能关注的文档
最近下载
- JORC勘查技术概要.ppt
- DZT0211-2024矿产地质勘查规范重晶石、毒重石、萤石、硼.pptx VIP
- D-Z-T 0211-2020 矿产地质勘查规范 重晶石、毒重石、萤石、硼(正式版).docx VIP
- 澳大利亚JORC标准中文版2012.pdf VIP
- 失禁性皮炎ppt(最新文档).pptx VIP
- 镗孔时发生让刀现象分析及解决方法.pdf VIP
- JORC资源储量概念.docx VIP
- 失禁性皮炎医学课件.pptx VIP
- 澳大利亚矿产资源和矿石储量报告规范(JORC标准)中文版..doc VIP
- GB50171-2012 电气装置安装工程 盘、柜及二次回路接线施工及验收规范.docx VIP
原创力文档

文档评论(0)