如何正确使用 new 动态new分配的内存内存

什么是堆:堆是大家共有的空间分全局堆和局部堆。全局堆就是所有没有new分配的内存的空间局部堆就是用户new分配的内存的空间。堆在操作系统对进程 初始化的时候new分配的内存运行过程中也可以向系统要额外的堆,但是记得用完了要还给操作系统要不然就是内存泄漏。 什么是栈:栈是线程独有的保存其运行状态和局部自动变量的。栈在线程开始的时候初始化每个线程的栈互相独立。每个函数都有自己的栈栈被用来在函数之间傳递参数。操作系统在切换线程的时候会自动的切换栈就是切换SS/ESP寄存器。栈空间不需要在高级语言里面显式的new分配的内存和释放

变量茬栈区 malloc在堆区

函数内声明的变量在栈区,代码段运行结束栈区内存会自动释放

malloc和new申请的内存在区,使用完毕需要程序员手动释放

我要回帖

更多关于 new分配的内存 的文章

 

随机推荐