c ++中是否存在std容器,其作用类似于矢量和链接列表之间的混合。我的意思是一个数据结构,它克服了std :: vector的频繁重新分配开销和潜在的超额内存分配,相反,当结构用完空间时,它会添加一个指向下一个分配片段的指针,并且只有当片段数达到时才会一定值,整个结构被解碎成一个连续的新块,片段数被设置回0。
答案 0 :(得分:4)
如上所述,std::deque
接近您的要求。我只是想在std::vector
和std::deque
之间添加这种比较,我觉得这很有帮助。 An In-Depth Study of the STL Deque Container
答案 1 :(得分:3)
std::deque
是与您描述的最接近的标准容器。然而,它并非完全(例如,它几乎必须是数组的数组而不是数组列表,因为后者不允许进行常量时间元素访问)。 / p>
根据您的实际要求,它可能足够接近。