如何在 C++ 中读取和写入大 std::vector<std::vector<float>> 文件

How to read and write large std::vector<std::vector<float>> to file in C++

在我的程序的构造函数中,我使用嵌套 std::vector<std::vector<float>>.

生成了一个非常大的 2048 * 2048 浮点数查找 table

每次查找 table 总是相同的,所以我想将此 table 写入文件以保存重新计算它。

实现此目标的最佳方法是什么?最好将值写入大 header,还是保存 object 的二进制副本更明智?

提前致谢!

编辑:

如果它有任何意义,可能与分配内存所花费的时间有关,这是通过以下模式完成的:

dataStructure.resize(numberOfRows);
for (int i = 0; i < numberOfRows; i++)
     dataStructure[i].resize(numberOfColumns);
    

其中数据结构是 std::vector<std::vector<float>>

这种情况下的答案是优化查找 table 生成。我做的工作比要求的多得多,现在加载时间几乎是即时的。

对于那些以后看到这个线程有类似问题的人,评论中有很好的一般性建议。

感谢所有贡献者的关注!