釋放記憶體總結

2021-04-29 07:01:56 字數 361 閱讀 5597

1. 用new/malloc顯式分配在堆上的記憶體才需要用delete/free釋放,而在棧上分配的如int   array[80]在子程式結束時自動釋放,分配與釋放都和資料型別無關。

2. delete乙個指標的時候 一定要檢查是否為null,否則是個嚴重的應用程式錯誤.

3.釋放乙個陣列要用delete

4.類物件使用結束後將其delete,不delete的話,當程式退出的時候,記憶體都會被系統釋放,不會有記憶體洩漏的問題. 

記憶體洩漏說的是 長時間執行的程式(幾年幾月),如果不管理好你的記憶體,到時候會無記憶體可用.???

附:摘抄乙個析構函式注釋

cmypoint::~cmypoint()

}

c c 記憶體釋放知識總結

基礎知識 五大記憶體分割槽 棧,就是那些由編譯器在需要的時候分配,在不需要的時候自動清除的變數的儲存區。裡面的變數通常是區域性變數 函式引數等。堆,就是那些由new分配的記憶體塊,他們的釋放編譯器不去管,由我們的應用程式去控制,一般乙個new就要對應乙個delete。如果程式設計師沒有釋放掉,那麼在...

c c 記憶體釋放知識總結

基礎知識 五大記憶體分割槽 棧,就是那些由編譯器在需要的時候分配,在不需要的時候自動清楚的變數的儲存區。裡面的變數通常是區域性變數 函式引數等。堆,就是那些由new分配的記憶體塊,他們的釋放編譯器不去管,由我們的應用程式去控制,一般乙個new就要對應乙個delete。如果程式設計師沒有釋放掉,那麼在...

OC自動記憶體釋放總結

autorelease方法不會改變物件的引用計數器,只是將這個物件放到自動釋放池中 自動釋放池實質是當自動釋放池銷毀後呼叫物件的release方法,不一定就能銷毀物件 例如如果乙個物件的引用計數器 1則此時就無法銷毀 由於自動釋放池最後統一銷毀物件,因此如果乙個操作比較占用記憶體 物件比較多或者物件...