C++内存分配的区:

1.栈:程序运行时分配的,局部变量,以及传入的参数等存储的地方,在程序结束的时候会回收

2.堆:new分配,由delete释放

3.自由存储区:malloc分配

4.全局/静态存储区:全局变量或静态变量存储的地方

5.常量存储区:存储常量的地方,不允许修改

堆和栈的区别:

1.管理的方式不同,堆是程序员自己管理,而栈是由编译器管理

2.空间的大小不同,堆基本没有限制,而栈很容易就溢出

3.生长方式不同,堆是地址上向上增加的,而栈是向着内存地址减小的方向变化。

4.分配的方式不同,堆是由程序员自己动态分配,动态释放的,而栈都是由编译器自己分配自己释放的

5.能否产生碎片不同,当大量的多次动态分配内存时会产生碎片,影响程序的执行效率,而栈上不会,因为栈的分配

6.分配的效率不同,堆分配内存的效率低下

最新文章

  1. 深入理解iOS开发中的BitCode功能
  2. HashPasswordForStoringInConfigFile中的Md5算法并非常用的Md5算法
  3. [Flash 3D] 又是一个难题解决了。(Flash3D在android中运行)
  4. 当一名黑客获得一份WebShell后,会做什么
  5. [ActionScript 3.0] AS3 绘制正二十面体(线条)
  6. POJ 1507
  7. json和jsonp的使用格式
  8. 【HDOJ】1979 Fill the blanks
  9. 关于ASPOSE.WORD使用上的一个小问题
  10. Css Div半透明
  11. WCF跟踪分析 使用(SvcTraceViewer)
  12. Python中的文件路径的分隔符
  13. 【Unity Shaders】Lighting Models 介绍
  14. PAT1116: Come on! Let's C
  15. cmd常用
  16. 【webdriver自动化】整理API框架(主要是关键字,具体例子在本地)
  17. POJ 3207 Ikki's Story IV - Panda's Trick (2-sat)
  18. IDEA Spring-boot-devTools 无效解决办法二
  19. 设计模式之迭代器模式(Iterator Pattern)
  20. angularjs 依赖注入原理与实现

热门文章

  1. poj2441 Arrange the Bulls
  2. mysql5.7.25集群部署和方案设计(附PXC一键部署脚本)
  3. Eclipse项目转Android Studio
  4. String.format()【示例详解】
  5. ETH Dapp 体验报告
  6. ios水果风暴游戏源码项目下载
  7. Python3简明教程(十一)—— 类
  8. EEPROM的存储大小
  9. zabbix设置发送消息的时间
  10. LayuI固定块关闭