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で自分の命を終わらせています.