new/delete、malloc/free關係

共同點:都用來申請和釋放動態內存, 對於內置類型,兩者的作用是相同的

差異:

1. new/delete是C++ 的關鍵字(操作符),malloc/free屬於C/C++的標準庫函數,調用時需要包含頭文件;

2. new 自定義類型對象時,不僅分配內存,還調用類對象的構造函數進行成員初始化;

    delete 自定義類型對象時,不僅釋放內存,還調用類對象的析構函數清理內存;

   而malloc/free只負責申請和釋放內存。


malloc/free的存在理由:

 C++程序中常常調用C函數,C程序只能用malloc/free管理動態內存;

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