malloc與free是C++/C語言的標準庫函數,new/delete是 C++的運算符。它們都可用於申請動態內存和釋放內存。對於非
內部數據類型的對象而言,光用 malloc/free無法滿足動態對象的要求。對象在創建的同時要自動執行構造函數,對象在
消亡之前要自動執行析構函數。由於malloc/free 是庫函數而不是運算符,不在編譯器控制權限之內,不能夠把執行構造
函數和析構函數的任務強加於malloc/free。因此C++語言需要一個能完成動態內存分配和初始化工作的運算符new,以及
一個能完成清理與釋放內存工作的運算符delete。注意new/delete不是庫函數。