首页 > 解决方案 > 如何读写大的 std::vector> 在 C++ 中归档

问题描述

在我的程序的构造函数中,我使用嵌套生成了一个非常大的 2048 * 2048 浮点查找表std::vector<std::vector<float>>

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

实现这一目标的最佳方法是什么?最好将值写入大标题,还是保存对象的二进制副本更明智?

提前致谢!

编辑:

如果它有任何影响,也许它与分配内存所花费的时间有关,这是通过以下模式完成的:

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

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

标签: c++lookup-tables

解决方案


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

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

感谢所有贡献者的关注!


推荐阅读