gpt4 book ai didi

c++ - 调整 vector 大小 C++

转载 作者:太空宇宙 更新时间:2023-11-04 15:02:08 24 4
gpt4 key购买 nike

struct struct1
{
vector<unsigned> vec1;
};

void main()
{
vector<struct1> vecStruct1;
struct1 obj1Struct1;
struct1 obj2Struct1;
vecStruct1.push_back(obj1Struct1);
vecStruct1.push_back(obj2Struct1);
}

现在,如果我调整对象 vecStruct1[0]struct1vec1 的大小,那么 vecStruct1 也会调整大小,即它会导致 vecStruct1 中的重新分配,即 &vecStruct[0]&vecStruct[1] 在调整大小后不会有所不同vecStruct1[0]vec1?

最佳答案

不,vector 将其元素存储在堆上而不是结构中的自身内部,因此当您调整其大小时 vector 本身永远不会增长,增长的是数据vector 指向的缓冲区。

关于c++ - 调整 vector 大小 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30910106/

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