内存堆和栈的区别
栈:内存由编译器在需要时自动分配和释放。通常用来存储局部变量和函数参数。为运行函数而分配的局部变量、函数参数、返回地址等存放在栈区。栈运算分配内置于处理器的指令集中,效率很高,但是分配的内存容量有限。
堆:内存使用new进行分配,使用delete或delete释放。如果未能对内存进行正确的释放,会造成内存泄漏。但在程序结束时,会由操作系统自动回收。
栈:内存由编译器在需要时自动分配和释放。通常用来存储局部变量和函数参数。为运行函数而分配的局部变量、函数参数、返回地址等存放在栈区。栈运算分配内置于处理器的指令集中,效率很高,但是分配的内存容量有限。
堆:内存使用new进行分配,使用delete或delete释放。如果未能对内存进行正确的释放,会造成内存泄漏。但在程序结束时,会由操作系统自动回收。