[C++]内存管理

在C++中,内存被分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区、和常量存储区。

栈(Stack),在执行函数时,函数内部局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元被释放。栈的内存分配预案算内置于处理器指令集中,效率很高,但是分配的内存容量有限。

堆(Heap),就是由new分配的内存块,编译器不会考虑他们的释放,应该由程序去控制,一半一个new就要对应一个delete。如果程序员没有释放掉,在程序结束后,操作系统可能会自动释放掉。

自由存储区(Free Store),就是那些由malloc等分配的内存块,它和堆非常相似,只不过由free结束声明。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章