gpt4 book ai didi

c++ - std::vector 的 std::vector 邻接

转载 作者:IT老高 更新时间:2023-10-28 22:09:22 28 4
gpt4 key购买 nike

我知道 std::vector<T>在内部连续存储它的数据(除非它是 std::vector<bool> )都在旧的 C++03 中标准和新的C++11 .

处理此问题并引用标准的好 stackoverflow 问题:answer , answer .

嵌套 vector 中的数据如何 std::vector <std::vector <T> > ?它是如何存储的?

如果每个内部 vector 都需要连续存储它的数据,&v[n] == &v[0] + n for all 0 <= n < v.size() 怎么可能是真的? .

用稍微不同的话来说,是否可以“简单”地访问存储在这种嵌套结构中的所有元素并按顺序(通过指针或类似方式)访问一维 vector ?

最佳答案

没有。 vector 的元素存储在动态分配的内存块中;否则,vector 的容量无法增加。 vector 对象只保存一个指向该 block 的指针。

按顺序存储元素的要求仅适用于元素本身,不适用于这些元素的任何动态分配的成员。

关于c++ - std::vector 的 std::vector 邻接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10898007/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com