溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

c++中new的使用方法

發(fā)布時間:2020-06-19 13:53:49 來源:億速云 閱讀:400 作者:元一 欄目:編程語言

new可以說是個一個關鍵字,也可以說是一個運算符,并且可以被重載。C++中new運算符用于動態(tài)分配和撤銷內存的運算符。

用new分配數組空間時不能指定初值。如果由于內存不足等原因而無法正常分配空間,則new會返回一個空指針NULL,用戶可以根據該指針的值判斷分配空間是否成功。 

一般來說,使用new申請空間時,是從系統(tǒng)的“堆”(heap)中分配空間。申請所得的空間的位置時根據當時的內存的實際使用情況決定的。但是,在某些特殊情況下,可能需要在程序員指定的特定內存創(chuàng)建對象,這就是所謂的“定位放置new”(placement new)操作。

1、開辟單變量地址空間

new int;  //開辟一個存放數組的存儲空間,返回一個指向該存儲空間的地址.int *a = new int 即為將一個int類型的地址賦值給整型指針a. 2)int *a = new int(5) 作用同上,但是同時將整數賦值為5。

2、開辟數組空間

要訪問new所開辟的結構體空間,無法直接通過變量名進行,只能通過賦值的指針進行訪問。用new可以動態(tài)開辟,撤銷地址空間。在編程序時,若用完一個變量,下次需要再用,可以在每次開始使用時開辟一個空間,在用完后撤銷它。

c++中new的使用方法

擴展資料:

C++中使用new的注意事項:

1、用戶是無法主動調用構造函數的,所以需要借助placement new,但是用戶可以主動調用析構函數,所以用完這些對象后,調用析構函數,然后用對應分配內存的方法去釋放內存。

2、事實上malloc并不一定比operatornew節(jié)省多少時間,用placement new常常是為了考慮性能,所以會配合內存池一起使用。

以上就是c++中new的用法詳解的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI