У меня есть эта функция:
char* ReadBlock(fstream& stream, int size)
{
char* memblock;
memblock = new char[size];
stream.read(memblock, size);
return(memblock);
}
Функция вызывается каждый раз, когда мне приходится читать байты из файла. Я думаю, что он выделяет новую память каждый раз, когда я ее использую, но как я могу освободить память после обработки данных внутри массива? Могу ли я сделать это из-за пределов функции? Обработка данных путем выделения больших блоков дает лучшую производительность, чем выделение и удаление небольших блоков данных?
Большое спасибо за вашу помощь!