上图中#0的块大小是8字节, #1是16字节, #2是24字节, 以此类推....为了解决这个问题, STL提出了萃取器Traits结构作为中间层. STL有多种Traits, 对于迭代器使用的是iterator_traits....容器: vector
vector的基础结构是双倍扩充的数组(实际扩充倍率依编译器决定, 有的编译器如的扩充倍率是1.5, 这个问题以后可能在另一篇文章一起细说), 通过如图的三个迭代器来进行尺寸控制...在早期实现中vector的迭代器只是一个原生指针, 但是后续实现给迭代器加入了状态机制, 将vector的迭代器正式扩展为一个类....而一旦当前表中元素数量大于篮子数, 表就会扩充为大约两倍于当前大小的质数长度, 然后将表内元素全部重新散列.