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