|
> コンソールアプリケーションを終了させるときに、閉じるのボタンが押された
> タイミングで動的に確保したメモリを開放したいのですが、
メモリの動的確保について大きな誤解があるものと思われます。
アプリケーションプログラムが終了するとき、そのプログラムが使っていたメモリは
すべてが自動的にシステムに返却されます。プログラムコードの領域も、
静的データ領域も、スタックも、ヒープ(動的データ領域)もです。
規格書の「7.10.3.2 free関数」には
「free関数は、ptrが指す領域を解放し、その後の割付に使用できるようにする。」
と書かれています。
次に、malloc を実行しないのであれば、free する必要はありません。
free してもかまいませんが、プログラムの終了時に free するのは無駄で、場合に
よっては終了処理に時間をとられて、閉じるボタンを押したのにずいぶん待たされて
ユーザがイライラするというようなことになってしまうかもしれません。
|