C における malloc と new の主な違いは、malloc によって割り当てられたメモリは手動で解放する必要があるのに対し、new によって割り当てられたメモリは自動的に解放されることです。 Malloc は、割り当てが失敗した場合は NULL を返し、新しい割り当てが失敗した場合は例外をスローします。 New は割り当てられたメモリを自動的に初期化しますが、malloc によって割り当てられたメモリは手動で初期化する必要があります。 new は配列割り当て、カスタム アロケーターなどの高度な機能をサポートしていますが、malloc はそれをサポートしていません。
#C における malloc と new の違い
malloc と new はどちらも C で一般的に使用されるメモリ割り当て関数です。しかし、それらの間にはいくつかの重要な違いがあります。1. 構文
<code class="cpp">void *malloc(size_t size); void *new(size_t size, std::nothrow_t = nullptr);</code>
2. 戻り値
##malloc:
new:##malloc: 割り当てられたメモリは初期化されていないため、手動で初期化する必要があります。
malloc: 割り当てが失敗した場合、例外はスローされませんが、NULL はスローされます。返される。
6. 高度な機能
new: 配列割り当てやカスタム アロケータ、配置などのさまざまな高度な機能をサポートします。新しい、など
以上がC++のmallocとnewの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。