C++存储区主要分为五大类型:全局变量与静态变量区、常量区、局部变量区(栈)、动态存储区(堆)、自由存储区
1.全局变量与静态变量区
存放全局变量、静态变量,程序运行结束后释放。
2.常量区
存放常量,不允许修改。
3.栈
存放局部变量、函数参数。由编译器控制,自动分配和释放。
4.堆
malloc/free在堆存储区上申请和释放内存,由人控制。
5.自由存储区
用于new/delete/delete [] 在自由存储区(是一种概念抽象,具体取决于底层实现,一般也是由malloc/free完成)上申请和释放内存,如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。