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

mallocfreeC++/C語言的標準庫函數,new/deleteC++的運算符。它們都可用於申請動態內存和釋放內存。對於非

內部數據類型的對象而言,光用 malloc/free無法滿足動態對象的要求。對象在創建的同時要自動執行構造函數,對象在

消亡之前要自動執行析構函數。由於malloc/free 是庫函數而不是運算符,不在編譯器控制權限之內,不能夠把執行構造

函數和析構函數的任務強加於malloc/free。因此C++語言需要一個能完成動態內存分配和初始化工作的運算符new,以及

一個能完成清理與釋放內存工作的運算符delete。注意new/delete不是庫函數。

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