mallocとnewの違いは何ですか?


1,malloc free C++/C        ,new/delete C++    。                 。
2,
, maloc/free 。 。 malloc/free , , malloc/free。
3, C++
new, delete。 new/delete
4,C++ C , C malloc/free 。

5、new malloc
。new 。 malloc void 。

:new delete ,malloc,free

malloc free C++/C ,new/delete C++ 。 。

, maloc/free 。 , 。 malloc/free , , malloc/free。


したがって、C++言語には、動的メモリ割り当てと初期化作業を完了できる演算子newと、メモリのクリーンアップと解放作業を完了できる演算子deleteが必要です.注意new/deleteはライブラリ関数ではありません.
newのオブジェクトはスタックの中にあり、mallocのオブジェクトはフリーストレージの中にあります.スタックは、newによって割り当てられたメモリブロックであり、彼らの解放コンパイラは管理されず、私たちのアプリケーションによって制御され、一般的に1つのnewはdeleteに対応しなければならない.プログラマーが解放されていない場合は、プログラムが終了するとオペレーティングシステムが自動的に回収されます.フリーストレージエリアは、mallocなどで割り当てられたメモリブロックで、スタックとよく似ていますが、freeで自分の命を終わらせています.