new/delete和malloc/free區別

new/delete和malloc/free區別:

1,new從自由存儲區域開闢空間,malloc從堆上開闢空間;

2,new的返回值類型是安全的,malloc返回值類型不安全;

3,new不需要計算內存開闢大小,malloc需要計算開闢內存的大小;

4,new申請失敗拋出異常,malloc返回NULL;

5,new可以進行初始化,malloc不可以進行初始化;

6,new是關鍵字,malloc是函數;

7,new可以進行重載,malloc不可以;

8,new可以調用malloc,malloc不可以調用new;

9,new可以開闢常量,malloc不可以;

10,new開闢數組是new[],malloc無論是數組還是變量都是一樣;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章