C++ C++;
我需要存储大量的整数。可能有 在整数的输入流中重复,我只需要 在它们之间储存不同的信息。 我最初使用stl集,但当 整数的输入数太高。 我正在寻找一些C++容器库 请允许我存储符合上述要求的号码 由文件支持,即容器不应尝试将所有数字保留在mem中。 我不需要持久地存储这些数据,我只需要找到C++ C++;,c++,containers,on-disk,C++,Containers,On Disk,我需要存储大量的整数。可能有 在整数的输入流中重复,我只需要 在它们之间储存不同的信息。 我最初使用stl集,但当 整数的输入数太高。 我正在寻找一些C++容器库 请允许我存储符合上述要求的号码 由文件支持,即容器不应尝试将所有数字保留在mem中。 我不需要持久地存储这些数据,我只需要找到 其中的唯一值。因为您需要大于RAM的内存,所以您可以查看查看;可能就是你要找的 编辑:我自己没有用过它,但是从文档中可以看到-您可以使用stream::runs\u creator创建数据的排序运行(不管内存
其中的唯一值。因为您需要大于RAM的内存,所以您可以查看查看;可能就是你要找的
编辑:我自己没有用过它,但是从文档中可以看到-您可以使用
stream::runs\u creator
创建数据的排序运行(不管内存中有多大),然后stream::runs\u merge
合并排序的流,最后使用stream::unique
过滤unique 您是否考虑过使用DB(可能)?或者它会太慢?在断定数据库太慢之前,你至少应该认真地尝试一下。您只需要一个轻量级的键值存储。过去我使用过Berkeley DB,但这里有一个。memcached?你能解释一下怎么用吗?我刚看了stlxxl。乍一看,它似乎没有像stl::set这样的东西。我想那太慢了。整数值的范围是什么?我不好意思把这称为答案,但也许你可以重建64位的应用程序,并在64位系统上运行。问题是主内存不够大,无法容纳所有数字,我们需要像容器一样的外部内存备份集。