newとmallocの違い



Difference Between New



1、new / deleteはCのキーワードです++ malloc / freeはライブラリ関数です
2、新しいアプリケーションのメモリ障害はbac_alloc例外をスローしますmallocはNULLを返します
3、newは最初に演算子new関数を呼び出し、十分なメモリを適用します(通常はmallocの基礎となる実装)。次に、型のコンストラクターを呼び出し、メンバー変数を初期化し、最後にカスタム型ポインターを返します。 Deleteは、最初にデストラクタを呼び出し、次に演算子delete関数を呼び出してメモリを解放します(通常は、基本的なfreeの実装)。

Malloc/free is a library function that can only dynamically request and release memory. It cannot be forced to do custom type object construction and destruction.

4、新規/削除はオーバーロードされる可能性があります
5、newは空きストレージからメモリを割り当て、mallocはヒープからメモリを割り当て、空きストレージはC ++の概念です。




この記事はDatou_NieのCSDNブログからのものです。全文アドレスをクリックしてください。 https://blog.csdn.net/nie19940803/article/details/76358673?utm_source=copy