当所需的空间大小未知时,使用内存中的空间

C++ Using a space in memory when the required size is unknown

本文关键字:空间 内存 未知      更新时间:2023-10-16

我正在用c++做一个小项目,在这个项目中,一个操作的完整结果最终将被写入一个文件。这个操作是在一个可能很大的矩阵的小块上完成的。由于每次处理块时不断地向磁盘写入似乎相当低效,因此我认为最好将所有部分结果存储在内存中,然后只向文件写入一次。问题在于,处理每个数据块的输出大小可能是可变的,并且在处理之前无法知道所需的大小。所以我想知道,我可以用什么作为缓冲区来存储所有的部分结果?我想过使用矢量,但由于我对c++不太熟悉,我想我会问是否有更好的方法。

of流已经被缓冲,C文件流也是。在这两种情况下,操作系统执行缓冲和I/O调度。

只要天真地使用它们,不要担心重新发明它,除非分析显示您的I/O是瓶颈。