new/malloc
C/C++ では、関数が終了する前にメモリを使用する必要があるというのは常識のようdelete/free
ですよね。
reader
しかし、ファイルからチャンクをバッファに読み込む関数consumer
があり、これらのバッファを後で消費する別の関数があるというこの種の問題があるとします。
void reader(ifstream &ifs)
{
char *buf = new char[100];
ifs.read(buf, 100);
save_buffer(buf); //save this buf into a global array, say buf_array[10]
}
void consumer()
{
for(int i = 0; i < 10; i++)
consume( buf_array[i] ); //do something with those buffers read by reader
}
私の問題は、多くのメモリ リソースが内でnew
編集されていますが、これらのバッファが で使用されていないため、編集できないことです。それらのバッファを処理する必要がありますか?reader
reader
delete
consumer
consumer
delete