當前位置:
首頁 >
C++数据内存分布
發布時間:2024/4/15
39
豆豆
1、堆(heap):程序員控制(分配釋放,若否:操作系統釋放),不連續內存
2、棧(stack):函數參數、局部變量,編譯器控制(分配釋放),連續內存
3、全局(靜態)區:全局、靜態變量
4、常量區:常量字符串...
5、代碼區:函數體的二進制代碼(函數只占一塊內存)
6、寄存器:棧頂指針、指令指針
函數調用壓棧:下行(返回)地址,參數(右-左),局部變量 依次進棧
new:創建堆(對象)
delete:堆,調用析構函數,再刪除(對象)
內存泄露:內存地址丟失
(1)堆對象--棧對象((自動)作用域返回:析構\刪除)
(2)棧對象
(3)全局/靜態對象
(4)寄存器對象
編譯階段:棧、全局、靜態對象分配內存
運行階段:堆對象分配內存
全局變量或者靜態變量,未初始化的話會自動初始化為0,局部變量不初始化
總結
- 上一篇: 漫谈Google的Native Clie
- 下一篇: C/C++基本类型字节