1、C++的内存管理可分为以下几个部分:

  栈:记录程序的执行过程。

  堆:采用new,delete申请释放内存。

  自由存储区:对应于C中使用malloc,free申请释放内存。

  全局存储区:也叫静态存储区,存储static对象,包括全局对象,命名空间内对象,文件作用域内的static对象,类中的static对象,方法内的static对象。

  常量存储区:存放文本常量。

2、对于32位系统,堆可用大小为为4G,对于一般程序,可认为无限大。栈可用大小为1M,也可以人为修改。

3、 1Byte = 8Bit

  1Word = 2Byte

  1K = 1024Byte

  1M = 1024K

  1G = 1024M

  我们平时上网的速度是4M,但是我们下载的时候,发现最大速度也就四五百K每秒,这是怎么回事?网络运营商说的4M,是指4M Bit,计算机显示的是Byte为基本单位,因此4M = 4*1024/8 = 512K

4、注意:字节是内存编址的最小单位。因此,对于大小为0的对象(没有实例字段和虚方法),为了表示在内存中,必须要用一个字节表示。再比如,对于bool,按道理只要1个bit就能表示了,但是由于字节是内存编址的最小单位,bool变量也要占用一个字节,浪费了7个Bit。

最新文章

  1. 【转】安全传输协议SSL和TLS及WTLS的原理
  2. 从零开始,搭建博客系统MVC5+EF6搭建框架(4)上,前后台页面布局页面实现,介绍使用的UI框架以及JS组件
  3. 【2016-10-31】【坚持学习】【Day16】【MongoDB】【入门】
  4. extjs 学习小窍门
  5. 仿美团外卖,饿了吗 两个ListView联动,左边点击切换右边,右边滑动切换左边
  6. itoa 和_itoa_s
  7. Boost::Thread使用示例 - CG-Animation - 博客频道 - CSDN.NET
  8. POJ 2240 Arbitrage(最短路 套汇)
  9. UIAlertController 自定义输入框及KVO监听
  10. Windows下Mysql5.7开启binlog步骤及注意事项
  11. AES加密实现
  12. YUI 和路径相关的参数与module加载之间的关系
  13. pyc反编译-uncompyle2的安装及使用
  14. 一个疑问,int对象5为何没有__dict__属性,而类却有,这是怎么做到的?对象不是都可以调用类属性吗?
  15. 小C的数学问题 【单调栈】
  16. window.location.replace()与window.location.href()区别
  17. 牛客第三场多校 H Diff-prime Pairs
  18. Spark笔记之Catalog
  19. IEnumerable是集合,IEnumerator是集合的迭代器
  20. gdg shell

热门文章

  1. 【转】TLB(Translation Lookaside Buffers,TLB)的作用
  2. mybatis+spring+struts2框架整合
  3. Oracle OCI-22053:溢出错误解决方法
  4. Android 获取本机WIFI及3G网络IP
  5. The Tower of Babylon
  6. Android自带CalendarView类实现日历视图
  7. hadoop1.2.1 伪分布式配置
  8. Echarts显示全球dns server物理位置
  9. bzoj 1061 [Noi2008]志愿者招募(数学模型,MCMF)
  10. MFC学习知识点20160715