【发布时间】:2021-09-12 17:25:59
【问题描述】:
如何将 std::deque 的内容存储到磁盘上?我发现你可以指定一个分配器,即
std::deque<std::unique_ptr<my_struct>>, disk_allocator<std::unique_ptr<my_struct>>> q;
如何编写自定义分配器“disk_allocator”以存储在磁盘上?标准库中是否已经存在一个?
【问题讨论】:
-
你的问题范围很大。答案部分可能不足以解释编写虚拟内存映射分配器所涉及的所有内容。最好问一个更具体的问题。
-
例如,您在编写分配器的哪个部分遇到了问题?您是否查阅过任何解释分配器如何工作的文档?
-
不,标准库中没有这样的分配器。
-
您是否考虑过对数据进行序列化?如果你只想要内容,那应该容易得多。但仍然是一个很大的话题。
-
你可以试试 STXXL 库 (stxxl.org) - 它不支持双端队列,但你可能会找到另一个合适的容器。