gpt4 book ai didi

c++ - 替代 std::vector 来存储一系列对象

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:18:26 25 4
gpt4 key购买 nike

我正在处理数百万个要按顺序访问的数据元素。元素很少增长和收缩,但会以可预测的方式以已知 block 大小增长和收缩。

我正在寻找类似于 std::vector 的高效集合,它不会重新分配但将数据保存在多个内存块中。每当我将更多对象放入集合中时,如果最后一个 block 已用完,则会创建并填充一个新 block 。我不希望有一个随机访问运营商。由于性能问题和一些超出手头问题范围的其他问题,我无法使用 std::list。

是否有适合我在 boost 或任何其他库中的要求的现成集合。在尝试自己做饭之前,我想确保货架上没有可用的东西。

最佳答案

在我看来,最好的选择是将许多 std::vector 存储在 B 树中。 B-Tree 允许您引用内存中的区域,而无需在树遍历期间实际访问它们,从而允许最少的文件访问。

关于c++ - 替代 std::vector 来存储一系列对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16479134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com