【C++內存管理之四】new/delete與malloc/free

1、內存耗盡怎麼辦

1、判斷指針是否爲NULL,並用retuen語句終止。
2、判斷指針是否爲NULL,並用exit(1)函數終止。
3、設置new和malloc異常處理函數。_set_new_hander函數爲異常處理函數

2、有了malloc/free爲什麼還要new/delete

1、malloc/free是c/c++的標準庫函數
適合內部數據類型,無法滿足動態對象的要求。因爲創建對象時需要自動執行構造函數和析構函數,但malloc/free是庫函數不是運算符,不在編譯器控制權限之內,不能把執行構造函數和析構函數的任務強加於malloc/free。
2、new和delete是C++的運算操作符。完成動態內存分配和初始化的工作。

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