【发布时间】:2014-06-23 16:10:36
【问题描述】:
我有一个内存接口,它将获取地址空间与附加后备存储区分开来。 (在 Linux 下,由接口管理的地址空间池是 mmap 的 MAP_ANONYMOUS 和 MAP_NORESERVE,madvise 的 MADV_DONTNEED 和 mprotect 的 PROT_NONE。然后由 madvise MADV_WILLNEED 和 mprotect PROT_READ、PROT_WRITE 和 PROT_EXEC 附加支持。)
这个接口允许我分配大量的地址空间,同时懒惰地获取实际的物理内存。我想用它来创建一个“惰性向量”,它会在适当的点请求后备存储,但从不复制向量的当前内容,因为它的增长。
考虑到标准库分配器的语义,这样的方案可能吗?感激地接受指针、提示或其他指导。
【问题讨论】:
标签: c++ vector stl realloc allocator