我們在上一篇文章中為大家詳細介紹了C++二維數組new的一些常用方法,相信大家應該有所掌握。那麼在這篇文章中,我們可以通過對比的方式來看看C++ delete的作用,並對這方面的知識有一個充分的認識。
new和C++ delete運算符用於動態分配和撤銷內存的運算符
new用法:
1. 開辟單變量地址空間
1)new int; //開辟一個存放數組的存儲空間,返回一個指向該存儲空間的地址.int *a = new int 即為將一個int類型的地址賦值給整型指針a.
2)int *a = new int(5) 作用同上,但是同時將整數賦值為5
2. 開辟數組空間
一維: int *a = new int[100];開辟一個大小為100的整型數組空間
二維: int **a = new int[5][6]
三維及其以上:依此類推.
一般用法: new 類型 [初值]
C++ delete用法:
1. int *a = new int;
delete a; //釋放單個int的空間
2.int *a = new int[5];
delete [] a; //釋放int數組空間
要訪問new所開辟的結構體空間,無法直接通過變量名進行,只能通過賦值的指針進行訪問.
用new和C++ delete可以動態開辟,撤銷地址空間.在編程序時,若用完一個變量(一般是暫時存儲的數組),下次需要再用,但卻又想省去重新初始化的功夫,可以在每次開始使用時開辟一個空間,在用完後撤銷它.