std::vector的替代方案,用于存储对象序列
Alternative to std::vector to store a sequence of objects
我正在处理顺序访问的数百万个数据元素。元素很少增长和收缩,但以已知的块大小以可预测的方式进行。
我正在寻找一个类似于std::vector的有效集合,它不重新分配,但在多个内存块中保存数据。每当我将更多对象推入集合时,如果最后一个块耗尽,则创建并填充一个新块。我不希望有一个随机访问操作符。我不能使用std::list,因为性能问题和其他一些超出当前问题范围的问题。
是否有一个现成的集合,适合我的要求在boost或任何其他库。在我自己动手做饭之前,我要确保货架上没有现成的东西。
在我看来,最好的选择是将许多std::vector
存储在b树中。B-Tree允许您在树遍历期间引用内存中的区域而无需实际访问它们,从而允许最小的文件访问。
相关文章:
- 用于存储由空格分隔的字符串的 C++/C 数据结构
- 用于创建/注册虚拟存储设备的 IOKit 驱动程序
- 有效地将大数存储为 2 的幂用于路径问题
- 用于自动存储的析构函数
- 一个 2D 数组,并按行存储值.第一个循环用于行索引,第二个循环用于列索引
- 用于存储分组关系和支持外观的最佳数据结构
- 阵列的临时存储如何用于C++中的删除恢复?
- 创建用于存储某些指针值的哈希表
- git 子模块的替代方案,用于使用多个存储库的项目
- 用于存储网格(将具有负索引)的数据结构
- 如何创建用于存储和返回浮点数数组的结构
- 用于存储原子整数的数组
- C++中的对象序列化,用于存储 OpenCV 的 SVM 对象 [OpenCV 3.1.0]
- 是否有用于存储离散间隔的集合
- 存储指向成员函数的指针不适用于 CLak++
- C++ ->尝试逐字阅读一行文本。如何使指针等效于用于存储输入的当前二维数组
- 用于存储由第一个功能创建的指针的设计模式将在以后使用
- 存储用于初始化类的模板
- 存储用于事件侦听器注册的指针
- 在哪里存储用于OSX部署的Qt导入