- 134 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 21:18:15 ]
- malloc()/newの類はfree()/deleteしても一般にはOSにメモリを返さないという
超基本的事項を知っているか。 free()されたメモリはOSに返さず次のmalloc()で再利用するのがこうした 関数の基本的な戦略だ。 したがって、一般にプロセスの最初にガバッとmalloc()して大きな仕事をし、 その後free()してもプロセスのワーキングセットは大きいままだ。 これは俗に言う「メモリリーク」ではないのだが、 それが問題になるようであれば、自分でHeapAlloc()なりVirtualAlloc()なりを 用いてカスタムのアロケータを書いて、basic_stringstream<>の テンプレートパラメータとして渡してやるんだな。
|

|