[C++]內存管理

在C++中,內存被分成5個區,他們分別是堆、棧、自由存儲區、全局/靜態存儲區、和常量存儲區。

棧(Stack),在執行函數時,函數內部局部變量的存儲單元都可以在棧上創建,函數執行結束時這些存儲單元被釋放。棧的內存分配預案算內置於處理器指令集中,效率很高,但是分配的內存容量有限。

堆(Heap),就是由new分配的內存塊,編譯器不會考慮他們的釋放,應該由程序去控制,一半一個new就要對應一個delete。如果程序員沒有釋放掉,在程序結束後,操作系統可能會自動釋放掉。

自由存儲區(Free Store),就是那些由malloc等分配的內存塊,它和堆非常相似,只不過由free結束聲明。

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