new和mallco的區別

2021-10-05 10:49:41 字數 316 閱讀 7134

1.從語法上講

new是c++關鍵字,需要編譯器支援,malloc是庫函式需要呼叫標頭檔案。

2.從引數上看

new的記憶體塊是編譯器根據資料型別資訊自動分配,而malloc需要指出記憶體大小。

3.從返回型別來看

new返回的是物件型別的指標,mallloc返回的是空指標,需要我們強制轉換成我們需要的型別。

4.從分配失敗來看

new分配失敗返回的是bac_alloc異常,malloc返回的是null;

此外,new可以為物件分配空間,呼叫建構函式初始化,delete時呼叫析構函式。malloc則不可以。

new和malloc的區別

1 new 是c 中的操作符,malloc是c 中的乙個函式 2 new 不止是分配記憶體,而且會呼叫類的建構函式,同理delete會呼叫類的析構函式,而malloc則只分配記憶體,不會進行初始化類成員的工作,同樣free也不會呼叫析構函式 3 記憶體洩漏對於malloc或者new都可以檢查出來的,...

malloc和new的區別

1,malloc與free是c c語言的標準庫函式,new delete是c 的運算子。它們都可用於申請動態記憶體和釋放記憶體。2,對於非內部資料型別的物件而言,光用maloc free無法滿足動態物件的要求。物件在建立的同時要自動執行建構函式,物件在消亡之前要自動執行析構函式。由於malloc f...

new 和 malloc 的區別

new 和 malloc 的區別 1.malloc與free是c c語言的標準庫函式,new delete是c 的運算子。它們都可用於申請動態記憶體和釋放記憶體。2.對於非內部資料型別的物件而言,光用maloc free無法滿足動態物件的要求。物件在建立的同時要自動執行建構函式,物件在消亡之前要自動...