使用new和delete 進行動態記憶體分配和釋放

2021-04-20 03:28:39 字數 430 閱讀 8755

運算子new和delete是c++新增的過算符,提供了儲存的動態分配和釋放功能。它的作用相當於c語言的函式malloc()和free(),但是效能更為優越。使用new比使用malloc()有以下的幾個優點:

(1)、new自動計算要分配型別的大小,不使用sizeof運算子,比較省事,可以避免錯誤。

(2、它自動地返回正確的指標型別,不用進行強制指標型別轉換。

(3)、可以用new對分配的物件進行初始化。

使用例子:

(1)、int *p;

p=new int[10];//分配乙個含有10個整數的整形陣列

delete[] p; //刪除這個陣列

(2)、int *p;

p=new int (100);//動態分配乙個整數並初始化

delete和delete的區別說乙個刪除靜態,乙個刪除動態.

new和delete的使用

一 基本資料型別的動態分配 new和delete已經完全包含malloc和free的功能,並且更強大 方便 安全。使用動態分配記憶體時不能忘記釋放記憶體,不要忘記出錯處理!下面先看new和delete的基本使用方法。includeusing namespacestd intmain 釋放記憶體del...

深入new和delete小結

new和delete是c 中使用頻率非常高的兩個關鍵字,可以說c 記憶體操作的核心就在於這兩個關鍵字,近幾天閱讀了相關的文章,發現自己對於這兩個關鍵字的理解太過膚淺,因此做了一些個人總結。首先要明確一點,new和delete所操作的記憶體全部是在堆區,這個區域的記憶體和棧區是不一樣的,不會自動釋放,...

New和delete的原理

new和delete的原理 當我們在程式中寫下 new 和 delete 時,我們實際上呼叫的是 c 語言內建的 new operator 和 delete operator.所謂語言內建就是說我們不能更改其含義,它的功能總是一致的。以 new operator 為例,它總是先分配足夠的記憶體,而後...