繁体   English   中英

为什么可以在一个类中使用多个 std 向量?

[英]Why can multiple std vectors be used in a class?

这个答案中,我相信一个类的成员保证在内存中是连续的,按照它们被声明的顺序。 但是,从文档中,“向量对其元素使用连续的存储位置”。 那么,如果一个向量可能会调整大小并溢出到已经分配的内存中,那么如何在一个类中拥有多个向量,或者一个不是类的最后一个成员的向量呢?

std::vector通常实现为三个指针。 一个指向存储vector内容的动态分配数组的指针,一个指向已用内存末尾的指针,一个指向已分配数组末尾的指针。 无论vector如何分配, vector的数据都存储在动态存储中的其他地方。

每个向量使用的内存是动态分配的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM