***すれ立てるまでもない質問はここで 第7刷***
■ このスレッドは過去ログ倉庫に格納されています
0241デフォルトの名無しさん
NGNG即座には開放されない場合が多い。
Win32 に限らず、OS を呼び出してメモリを割り当て/解放するのは重い処理なので、
ふつうは
1. ある程度の大きな単位で OS にメモリブロックを要求
2. そのメモリブロックから小さなブロックを切り出して malloc, new を呼び出した側に渡す
ってな実装になっている。free, delete で解放した場合も、いきなり OS に返さずに、条件
が整うまで CRT 内部でプールしておくとかね。
大きなメモリを一気に確保、解放したいなら、標準の operator new() ではなく、Win32 API
VirtualAlloc(), VirtualFree() なんかを使った operator new() を書いて、それを使うように
した方がいい。
■ このスレッドは過去ログ倉庫に格納されています