C++ - heap & stack

C++ 学习笔记

C++ heap内存 & stack内存

它们是什么?

  • 其是它们就是我们计算机 RAM 中两块内存
  • stack : 其大小是在程序运行之后 预定义 好的,其大小大概为 两百万字节
  • heap : 也是 预定义 好的,但是其大小会随程序的增长而改变

区别

  • 当在 stack 上申请变量的时候,stack ptr(top of the stack)会移动相应的大小,用来给申请的变量
  • 通常 stack 会很快
  • new 关键字会调用 malloc函数 来申请内存,会调用底层操作系统的特定接口
  • new 关键字会向操作系统申请真实的物理内存,程序会维持一个 free list (保存这些物理内存地址)