new 與delete是c++預定的操作符,它們一般需要配套使用。new用於從堆記憶體申請一塊空間,一般動態用於動態申請記憶體空間,即根據程式需要,申請一定長度的空間,而delete則是將new申請的空間釋放。
new 有以下的三種格式申請記憶體空間
new 資料型別
new 資料型別(初始值)
new 資料型別[常量表示式]
如 int * p1=new int;
int *p2=new int(2); //*p2初始化值是2
int *p3=new int[1000] //申請1000個單位記憶體空間
用new申請記憶體空間,並一定任何時候都能申請到足夠的記憶體空間,因為系統資源有限。
所以一般申請完後加乙個條件進行判斷
if(p3!=null)
//程式**
}else
//丟擲異常,記憶體空間申請失敗
}記憶體申請後一定要釋放,主要是用delete或者delete
下面是示例**:
void test()
int i;
int *p0=&i;
int * p1=new int;
int *p2=new int(2); //*p2初始化值是2
int *p3=new int[1000] //申請1000個單位記憶體空間
// 使用以上指標後,最後要予以釋放記憶體空間
delete p0; //錯誤的,p0指標不是用new動態申請的
//下面三個是正確的寫法
delete p1;
delete p2;
delete p3; //注意此處不能用delete p3,因為在申請用了,則在釋放時要用delete
以上是我最近學習c++的一點心得,希望能對和我一樣初學c++的朋友有些幫助。
new與delete使用方法
new和delete運算子用於動態分配和撤銷記憶體的運算子 new用法 1.開闢單變數位址空間 1 new int 開闢乙個存放陣列的儲存空間,返回乙個指向該儲存空間的位址.int a new int 即為將乙個int型別的位址賦值給整型指標a.2 int a new int 5 作用同上,但是同時...
new與delete函式使用方法以及注意事項
new 與delete是c 預定的操作符,它們一般需要配套使用。new用於從堆記憶體申請一塊空間,一般動態用於動態申請記憶體空間,即根據程式需要,申請一定長度的空間,而delete則是將new申請的空間釋放。new 有以下的三種格式申請記憶體空間 new 資料型別 new 資料型別 初始值 new ...
new和delete的使用
一 基本資料型別的動態分配 new和delete已經完全包含malloc和free的功能,並且更強大 方便 安全。使用動態分配記憶體時不能忘記釋放記憶體,不要忘記出錯處理!下面先看new和delete的基本使用方法。includeusing namespacestd intmain 釋放記憶體del...