内存的5个区的详解
来源:互联网 发布:sql with cte as 编辑:程序博客网 时间:2024/04/26 18:19
总而言之,可概括认为:
C++内存,可分为5个区,分别是:
栈、堆、自由存储区、全局/静态存储区、常量存储区。
(一)栈
1.创建方式:在执行函数时,函数内的局部变量可在栈上创建,或者函数参数。
(关于这点,我乍一看认为函数内很多余,难道有不是函数内的局部变量,后期研究一下,好像跟静态局部变量有关)
2.释放方式:函数结束或者调用结束时,自动释放;
3.参与者:由编译器自动分配创建;
4.特点:一级缓存,效率高,内存有限,自动清空;
5.内存大小限制:Windows下是向低地址扩展的,连续的内存空间,大小固定,若申请的栈空间超出栈的剩余空间,会提示overflow.
(二)堆
1.创建方式:由new关键字分配;
2.释放方式:由delete关键字释放,若没有用delete,会造成内存泄漏;
3.参与者:程序员;
4.特点:二级缓存,效率低,空间大,不会自动清空;
(三)自由存储区
1.创建方式:malloc函数分配;
2.释放方式:free函数释放;
3.参与者:程序员;
(四)全局/静态存储区
1.创建方式:存储全局变量、静态变量和常量字符串;
2.释放方式:程序结束;
3.参与者:编译器;
(五)常量存储区
1.创建方式:存储常量,不允许修改
0 0
- 内存的5个区的详解
- 内存的5个分区
- 内存5个区的分配问题(转)
- 飞翔的内存详解
- 堆内存和栈内存的详解
- c指针的内存详解
- lwbt的内存分配详解
- 详解程序的内存分配
- javascript的内存管理详解
- Tomcat的内存设置详解
- 详解JVM的内存管理机制
- 详解tomcat的内存配置
- 详解JVM的内存管理机制
- 详解JVM的内存管理机制
- JVM的内存存储详解
- C++中5个内存区的区别以及栈和堆的详细比较
- C++内存泄露检查的5个方法
- C++内存泄露检查的5个方法
- 计算几何初步模板
- poj_1469
- 关于取消“计算机信息系统集成企业资质认定”、“计算机信息系统集成项目经理人员资质评定”和“信息系统工程监理单位资质认证和监理工程师资格认定”
- DuiLib::CLabelUI 的继承类
- 快速排序及寻找最小的k个数
- 内存的5个区的详解
- 2014-02-16 有限状态机——管中窥豹
- HTML5 Input Types
- java 实例化,执行。
- 数据挖掘十大经典算法
- 学习java Swing编程的一个简单Demo
- (2)今天你求职了吗?
- QT编译错误 error: cannot find -lGL
- 最短路spfa