c++ 中是否有一个 std 容器,它的作用类似于向量和链表之间的混合体。我的意思是一种数据结构,它克服了 std::vector 频繁的重新分配开销和潜在的过多内存分配,而是当结构用完空间时,它添加一个指向下一个分配片段的指针,并且只有当片段数量达到一个特定的值,整个结构被分解成一个连续的新块,并且片段的数量被设置回 0。
问问题
1757 次
2 回答
4
如前所述,std::deque
接近您的要求。我只想在 和 之间添加这个比较std::vector
,std::deque
我觉得这很有帮助。STL Deque 容器的深入研究
于 2011-11-29T13:17:00.103 回答
3
std::deque
是最接近您描述的标准容器。然而,它并不完全像这样(例如,它几乎必须是一个数组数组而不是数组列表,因为后者不允许恒定时间的元素访问)。
根据您的实际要求,它可能足够接近。
于 2011-11-29T13:13:03.987 回答