C++中new與malloc的區別

  1. 當分配內存成功時,new返回指定的指針類型,malloc返回void *,需要自行轉型;
  2. 當內存分配失敗時,new默認拋出異常,malloc返回NULL;
  3. 使用new時編譯器可以根據類型計算得出字節數,而malloc必須顯式的給出字節數;
  4. 申請數組時可以用new[],而malloc需要自行計算字節數;
  5. new分配的內存無法直觀的擴充,而malloc分配的內存可以用realloc完成擴充;
  6. new除了申請空間還要進行構造對象,而malloc僅僅申請一塊原始指針;

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