C 動態記憶體與智慧型指標

2021-09-18 01:48:48 字數 318 閱讀 9138

qq : 1841545843

郵箱 : [email protected]

靜態記憶體用來儲存區域性 static 物件、類的 static 資料成員,以及定義在任何函式之外的變數。棧記憶體用來儲存定義在函式之內的 static 物件。

除了棧記憶體和靜態記憶體外,每個程式還擁有乙個記憶體池,這部分稱之為 堆 ,堆用來進行儲存動態分配。即在執行時分配的記憶體

new 在動態記憶體中位物件分配記憶體空間並且返回該物件的指標。

delete 接受乙個動態物件的指標,銷毀該物件, 釋放與之關聯的記憶體。

智慧型指標

智慧型指標可以自動釋放所指物件

c 動態記憶體與智慧型指標

目前為止我們學過靜態記憶體和棧記憶體,分配在其中的物件由編譯器自動建立和銷毀,靜態記憶體 用來儲存區域性static物件 類的static資料成員 以及定義在任何函式體之外的變數。在物件使用之前分配,程式結束時銷毀。棧記憶體 用來儲存定義在函式內的非static物件。僅在物件定義的程式塊執行時存在,...

動態記憶體與智慧型指標

動態記憶體與智慧型指標 靜態記憶體用來儲存區域性static物件 類static資料成員以及定義在任何函式之外的變數 全域性變數 棧記憶體用來儲存定義在函式內的非static物件。分配在靜態或棧記憶體中的物件由編譯器自動建立和銷毀。對於棧物件,僅在其定義的程式塊執行時才存在 static物件在使用之...

動態記憶體與智慧型指標

在c 中,動態記憶體的管理是通過一對運算子來完成的 new,在動態記憶體中為物件分配空間並返回乙個指向該物件的指標,我們可以選擇對物件進行初始化 delete,接受乙個動態物件指標,銷毀該物件並釋放與之關聯的記憶體。動態記憶體在使用時很容易出問題,有時會忘記釋放記憶體,造成記憶體洩露,有時在尚有指標...