使用new分配記憶體和delete刪除記憶體

2021-10-04 23:35:15 字數 494 閱讀 3560

在我們寫程式使用指標的時候,必須對指標進行手動初始化,否則會存在出現bug的可能性,c++為我們提供了一種管理指標的方法。

在c++中,我們可以通過new來為建立的指標自動分配記憶體,避免手動分配

手動分配較為麻煩,如下所示:

int heggle =5;

int* ptr =

&heggle;

使用new進行記憶體分配,如下所示:

int

* ptr =

newint

;*ptr =

5;

使用new後,程式會自動在記憶體中尋找合適的記憶體位址來存放ptr指標,然後ptr指向了存放value的位址

在使用完指標後,我們必須對其進行釋放,使用delete ptr進行指標釋放

new和delete分配記憶體

一.當記憶體用完時 當找不到足夠大的連續的記憶體塊用於存放物件時,乙個稱為new handler的函式被呼叫,或者檢查指向函式的指標,如果非0,則那個函式被呼叫 new handler的預設動作是丟擲乙個異常。通過包含new.h,然後以我們想呼叫的函式位址為引數,呼叫set new handler ...

4 7 4 使用new來分配記憶體

前面,我們將指標初始化為變數的位址 變數是在編譯時分配的 有名稱的記憶體,而指標只是為可以通過名稱直接訪問的記憶體提供了乙個別名。指標真正的用武之地在於,在執行階段分配未命名的記憶體以儲存值。在這種情況下,只能通過指標來訪問記憶體。new的用法 int pn new int new int告訴程式,...

C 使用new來分配記憶體

對位址的工作方式有一定了解後,來看看它如何實現在程式執行時分配記憶體。前面我們都將指標初始化為變數的位址 變數是在編譯時分配的有名稱的記憶體,而指標只是為可以用過名稱直接訪問的記憶體提供了乙個別名。指標真正的用武之地在於,在執行階段分配未命名的記憶體以儲存值。在這種情況下,只能通過指標來訪問。在c語...