【发布时间】:2017-08-08 18:11:21
【问题描述】:
众所周知,std::deque< T > 由数据块组成(数组数组或数组列表,我不知道)。如果T 的大小足够小,则通常创建的每个块的大小为 4k。 (我相信)libc++ 和 libstdc++ 是正确的(如果我错了,请纠正我)。 4k 是 x86/x64 平台的页面大小(我相信)。
我一一收集数据并将其存储到std::deque。最后,我应该使用它的 API 将它传递给 DirectX 缓冲区。
我是否可以访问 std::deque 的各个块以一次加载它们(没有实现细节文件),但不能一一加载 T 类型的值?
如果有std::deque这样的接口就太好了,它可以实现固有的期望。比如说,std::unordered_{set,map} 有存储桶(无法访问它们)。新开发的尝试设计允许将单个节点从一个容器移动到另一个容器等。
【问题讨论】: