美文网首页
C++学习笔记

C++学习笔记

作者: 非典型程序猿 | 来源:发表于2021-06-12 14:46 被阅读0次

内存分区模型

  • 代码区
    存放我们所有编写的代码
  • 全局区
    存放全局变量,静态变量以及常量
  • 栈区
    由编译器自动分配释放,存放函数的参数值,局部变量等
  • 堆区
    由程序员分配和释放,程序结束时会自动回收未被释放的内存

代码区

该分区存放了代码转换而成的2进制cpu指令,且程序运行前即分配好,特点是共享且只可读

全局区

该分区同代码区一样,也在程序运行前就分配好,存放了全局变量和静态变量(可能是全局的,也可能是局部的),和常量区,常见的常量可由define或const声明,它最终会随着程序的运行结束而被释放掉

栈区

该分区由编译器自动分配释放,主要存放函数的参数值,局部变量等等,要注意不能返回局部变量的地址,因为栈区开辟的内存会随着程序运行编译器自动回收

堆区

该分区由程序员申请和释放,这里会使用到new和delete关键字,new可以申请内存空间,delete可以释放空间,注意点是程序运行结束时会自动回收已经申请的内存。

相关文章

网友评论

      本文标题:C++学习笔记

      本文链接:https://www.haomeiwen.com/subject/coqieltx.html