在c++中,内存一般分为5个区,分别为:堆,栈、自由存储区、全局静态存储区、常量存储区;
(1)栈:执行函数时,函数内局部变量的存储单元可以在栈上创建,函数执行结束时,内存自动被释放,栈内存分配运算内置于处理器的指令集中,效率很高但是分配的内存变量有线;
(2)堆:就是那些由new分配的内存块,编译器不负责内存的释放,而是由应用程序来控制。一般一个new对应于一个delete;
(3)自由存储区:有malloc分配的内存块,释放的时候由free来执行;
(4)全局/静态存储区,全局变量和静态变量被分配到同一块内存中;
(5)常量存储区:这是一块较为特殊的内存区,存放的都是常量,不允许修改;