gpt4 book ai didi

c++ - 磁盘支持的 STL 容器类?

转载 作者:IT老高 更新时间:2023-10-28 12:30:16 24 4
gpt4 key购买 nike

我喜欢使用 STL 开发算法,但是,我经常遇到这个问题,即我的数据集对于堆来说太大了。

我一直在寻找 STL 容器和磁盘支持的算法的替代品,即存储在磁盘上而不是堆上的数据结构。

一位 friend 最近将我指向 stxxl .在我过多参与之前......我应该考虑是否有其他可用的磁盘支持的 STL 替代品?

注意:我对持久性或嵌入式数据库不感兴趣。请不要提及 boost::serialization、POST++、关系模板库、Berkeley DB、sqlite 等。我知道这些项目并在适合我的目的时使用它们。

更新:有几个人提到了内存映射文件和使用自定义分配器,顺便说一句很好的建议,但我会把他们指向讨论 here David Abraham 建议磁盘支持的容器需要自定义迭代器。这意味着自定义分配器方法不太可能奏效。

最佳答案

我已经实现了一些非常相似的东西。实现迭代器是最具挑战性的。我用 boost::iterator_facade 来实现迭代器。使用 boost::iterator_facade,您可以轻松适应任何缓存在 磁盘数据结构上的 STL 容器接口(interface)。

关于c++ - 磁盘支持的 STL 容器类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/149488/

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