Skip to main content

内存管理、内存布局

1. C++ 的内存布局

C++ 的内存布局主要分为以下几个部分:

  1. 栈区:由编译器自动分配释放,存放函数的参数值、局部变量的值等。其操作方式类似于数据结构中的栈。
  2. 堆区:由程序员分配释放,若程序员不释放,程序结束时可能由操作系统回收。在 C++ 中主要通过 newdelete 来分配和释放。
  3. 全局(静态)存储区:全局变量和静态变量被分配到同一块内存区域,存放全局变量静态变量,程序结束后由系统释放。
  4. 常量区常量字符串就是放在这里的。程序结束后由系统释放。