我喜欢使用 STL 开发算法,但是,我经常遇到这个问题,即我的数据集对于堆来说太大了。
我一直在寻找 STL 容器和磁盘支持的算法的替代品,即存储在磁盘上而不是堆上的数据结构。
一位朋友最近向我指出了stxxl。在我过多参与之前......我应该考虑是否有其他可用的磁盘支持的 STL 替代品?
注意:我对持久性或嵌入式数据库不感兴趣。请不要提及 boost::serialization、POST++、关系模板库、Berkeley DB、sqlite 等。我知道这些项目并在它们适合我的目的时使用它们。
更新:有几个人提到了内存映射文件和使用自定义分配器,顺便说一句,这是很好的建议,但我会指出他们在这里的讨论中,大卫亚伯拉罕建议磁盘支持的容器需要自定义迭代器。这意味着自定义分配器方法不太可能奏效。