c ++ vector/linked list hybrid

dte*_*ech 5 c++ linked-list vector hybrid data-structures

在c ++中是否有一个std容器,它就像一个vector和一个链表之间的混合.我的意思是一个数据结构,它克服了std :: vector的频繁重新分配开销和潜在的超额内存分配,相反,当结构用完空间时,它会添加一个指向下一个分配片段的指针,并且只有当片段数达到时才会如果某个值,整个结构被解碎成一个连续的新块,并且片段数被设置回0.

NPE*_*NPE 3

std::deque是与您所描述的最接近的标准容器。然而,它并不完全像这样(例如,它几乎必须是数组的数组而不是数组的列表,因为后者不允许常量时间元素访问)。

根据您的实际要求,它可能足够接近。