當前位置:
首頁 >
【原创】new和delete
發布時間:2025/5/22
34
豆豆
生活随笔
收集整理的這篇文章主要介紹了
【原创】new和delete
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
為普通的變量申請內存空間,可以使用下面的語法規則。
new int; //開辟一個存放整型變量的空間,返回一個指向整形數組的指針 new int(100); //開辟一個存放整形變量的空間,并指定其初值為100 float* p=new float(3.1415926); //開辟一個存放實數的空間,并指定該實數的初值為3.1415926, //將返回的指向實型數據的指針賦給指針變量p當new操作符被執行后如果有足夠的內存空間,則new按分配一塊內存,并返回指向該該內存起始地址的指針;
如果內存空間不夠,則返回NULL
同樣可以使用new來為一個數組分配內存空間,并相應的使用delete來將其釋放.
Point* pt=new Point[100];????????????????????????????????????????????????????????????????????????????????????????????????
在堆上創建了一個含有100個對象的數組,并把返回的指針賦給指針變量pt。這樣就在堆上為100個Point對象分配了足夠的內存并為沒一個對象調用了構造函數。
delete pt;? //釋放數組中的第一個對象,并調用第一個對象的析構函數
delete [] pt;? //釋放數組中所有對象,并為數組的所有對象調用析構函數
new和delete實際調用了malloc和free函數。但new運算符除了分配內存外,還
要調用構造函數。同理,delete會調用類的析構函數。malloc函數卻只是負責分配內存,不會進行初始化類成員的工作,同樣free也不會調用析構函數
轉載于:https://www.cnblogs.com/mx113/articles/1603995.html
總結
以上是生活随笔為你收集整理的【原创】new和delete的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows窗体编程(二)
- 下一篇: Linq to xml API中 XNa