>>211 C++ じゃなくて C の話題のような気がするが…ともかく。
free() すると、free() したメモリが malloc(), realloc() で再利用可能になる。
もし何度も malloc() を行うプログラムなら free() しておくと使用メモリ量を
抑えられる。
サーバプロセスのように 24 時間実行されたり、エディタのようにいつまで実行
すればいいのか分からんアプリケーションで何度も malloc() する場合には
free() 必須。さもないとメモリを食いつぶしてしまう。
短期間だけ実行してすぐに終了してしまうプロセスや、malloc() で確保する
メモリ量が限られている場合には free() せずに終了して構わない。free()
していないメモリ領域も含めて、プロセスが使っていたメモリは OS がまとめ
て回収するから。
関連スレッド
始まった!malloc and free - fj.comp.lang.c
http://mentai.2ch.net/test/read.cgi?bbs=prog&key=981051921 あと free() するのが面倒だと感じるなら、ガベージコレクタを使っても良いよ。
プログラム中から参照されていないメモリ領域を勝手に free() してくれる。
BoehmGC
http://reality.sgi.com/boehm/gc.html