Как удалить указатель после возврата его значения внутри функции

У меня есть эта функция:

char* ReadBlock(fstream& stream, int size)
{
    char* memblock;
    memblock = new char[size];
    stream.read(memblock, size);
    return(memblock);
}

Функция вызывается каждый раз, когда мне нужно прочитать байты из файла. Я думаю, что он выделяет новую память каждый раз, когда я ее использую, но как я могу освободить память после обработки данных внутри массива? Могу ли я сделать это извне функции? Обработка данных путем выделения больших блоков дает лучшую производительность, чем выделение и удаление небольших блоков данных.

Большое спасибо за Вашу помощь!

Ответы на вопрос(6)

Ваш ответ на вопрос