我有一个具有以下结构的二进制文件:
+---------+--------+------+----+-------+
| 页眉 | 对象1 | 对象2 | ... | 索引 |
+---------+--------+------+----+-------+
这Index
是一个可变大小的向量,取决于对象的数量,并存储每个对象的文件位置。例如
vector<size_t> index;
index.push_back(ofs.tellp());
write(reinterpret_cast<char *> obj, sizeof(obj));
文件也很大(1Gb+)。
我想把索引放在标题之后,这样阅读起来会更快。我可以这样做而不必复制和写入所有对象两次吗?谢谢。