STL向量在哪里保存不同大小的数据项?

Mic*_*ael 2 c++ stl

具体来说,STL如何在vector <vector <T>>中对齐矢量项,假设每个矢量项可能会改变大小?外部向量是否对齐引用并将项目保留在其他位置?

Cap*_*ous 6

A std::vector保存指向数组第一个元素的指针.当元素数量发生变化且数组需要增大或缩小时,将分配新数组并复制数据.矢量对象本身的实际大小永远不会改变.

  • 此外,向量中每个对象的大小不会改变.如果你有`vector <T>`那么向量中的每个项都需要`sizeof(T)`字节. (2认同)