在C++中,内存分为五个区,他们分别是栈、堆、自由存储区、全局/ 静态存储区、常量存储区。
栈 就是那些在需要的时候分配,在不需要的时候自动清除的变量存储区。里面的变量通常是局部变量和函数参数等。
堆,就是那些由new分配的内存块,他们的释放编译器不管,由我们的程序去控制,一般一个new对应一个delete。如果程序员没有释放掉,那么在程序结束时由操作系统自动收回。
自由存储区,就是那些由malloc分配的存储单元,和堆十分相似,只不过是用free来释放内存。
全局/静态存储区,全局变量和静态变量的存储区。
常量存储区,这里面存放常量不允许修改。