就运行时而言,通过背面存储大量数据并从正面或背面移除的最有效容器是什么?
答案 0 :(得分:13)
std::deque
或双头队列。
与std::vector
不同,不保证存储在连续的内存中。您应该对您的特定需求进行基准测试,因为缓存变得越来越重要,而且一般复杂性语句也越来越少;但是,在这种情况下,我会从deque
开始。
答案 1 :(得分:0)
这取决于实现,容器的大小,
涉及的类型,也可能是其他的东西,所以唯一的
真正的答案可以给予衡量。 std::deque
是
专为这些类型的操作而设计,非常大
容易复制类型的容器,无疑是
最快的,但有一次我测量(用一个容器起来
到8 char
- 小而便宜复制),std::vector beat
std :: deque`放下。