从this answer出发,我相信可以保证类的成员在内存中是按声明的顺序连续的。但是,从the docs中,“ vector 将连续存储位置用于其元素”。因此,如果一个 vector 可能会调整大小并溢出到已分配的内存中,那么在一个类中可能有多个 vector ,或者一个不是该类的最后一个成员的 vector 呢?
最佳答案
std::vector
通常实现为三个指针。一个指针指向存储vector
内容的动态分配数组,一个指针指向已用内存的末尾,另一个指针指向分配的数组的末尾。无论vector
如何分配,vector
的数据都存储在动态存储中的其他位置。
关于c++ - 为什么在一个类中可以使用多个std vector ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59623251/