C++程序的内存格局通常分为4个区:
1. 代码区(Code Area)
2. 数据区(Data Area)
3.栈区(Stack Area)
4.堆区(即自由存储区)(Heap Area)
Code Area:程序代码指令、常量字符串,只可读。
Static Area:存放全局变量/常量、静态变量/常量。
Stack:预先设定大小,自动分配与释放。
Heap:由程序自己控制,使用malloc/free、new/delete操作。
栈是连续的,向上增长,堆是链接的,向下增长。
连续的存取速度快于链接,栈快于堆。
栈默认1M,可以编译的时候设置大小。