簡単な答え: いいえ。
長い答え: いいえ。C++ は、そうするように作業を行わない限り、メモリを永続化することはありません。メモリを解放する理由は次のとおりです。
メモリを解放せずに割り当て続けると、ある時点でメモリが不足します。使い果たしたら、ほとんど何でも起こり得ます。Linux では、おそらく OOM キラーがアクティブになり、プロセスが強制終了されます。たぶん、OS が完全にディスクにページングします。十分なメモリを使用している場合は、Windows ボックスにブルー スクリーンを表示することがあります。これは、ほとんど未定義の動作と考えることができます。また、メモリをリークした場合、それはそこに置かれ、未使用で解放されず、プロセスが終了するまで誰も使用できません。
別の理由もあります。メモリをアロケータに解放すると、アロケータはメモリを保持する可能性がありますが、使用可能としてマークするだけです。これは、次にメモリが必要になったときに、メモリがすでにそこにあることを意味します。つまり、メモリを要求するカーネルへの呼び出しが少なくなり、パフォーマンスが向上します。これは、コンテキスト スイッチが非常に非効率であるためです。
編集: C および C++ 標準では、終了後にメモリが OS によってクリーンアップされるという保証さえありません。多くの OS とコンパイラはそうかもしれませんが、保証はありません。それにもかかわらず、すべての主要なデスクトップおよびモバイル オペレーティング システム (おそらく DOS と一部の非常に古い組み込みシステムを除く) は、その後プロセス メモリをクリーンアップします。