C++ - heap & stack

  1. 它们是什么?
  2. 区别

C++ 学习笔记

C++ heap内存 & stack内存

它们是什么?

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

区别

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

欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 qinhan_shu@163.com

文章标题:C++ - heap & stack

本文作者:QinHan

发布时间:2019-12-31, 22:36:06

最后更新:2020-02-20, 05:42:12

原始链接:https://qinhan.site/2019/12/31/cpp-mem/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏