我有这个功能:
char* ReadBlock(fstream& stream, int size)
{
char* memblock;
memblock = new char[size];
stream.read(memblock, size);
return(memblock);
}
每次我必须从文件中读取字节时都会调用该函数。我认为它每次使用它都会分配新的内存,但是一旦我处理了数组中的数据,我该如何释放内存呢?我可以从函数外部进行吗?通过分配大块处理数据比分配和删除小块数据具有更好的性能?
非常感谢您的帮助!
原文由 Emer 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用
delete[]
释放动态数组:但理想情况下,您不要在这里使用手动内存管理: