从这个答案中,我相信一个类的成员保证在内存中是连续的,按照它们被声明的顺序。但是,从文档中,“向量对其元素使用连续的存储位置”。那么,如果一个向量可能会调整大小并溢出到已经分配的内存中,那么如何在一个类中拥有多个向量,或者一个不是类的最后一个成员的向量呢?
std::vector通常实现为三个指针。一个指向存储vector内容的动态分配数组的指针,一个指向已用内存末尾的指针,一个指向已分配数组末尾的指针。无论 是如何vector分配的,vector的数据都存储在动态存储中的其他地方。
| 归档时间: |
|
| 查看次数: |
79 次 |
| 最近记录: |