gpt4 book ai didi

c++ - STL vector 、push_back() 和容量

转载 作者:太空狗 更新时间:2023-10-29 23:05:41 24 4
gpt4 key购买 nike

<分区>

我想知道当将一个 vector 推到一个 vector 的 vector 上时,容量是否会延续。

假设我有一个代码看起来像

std::vector< std::vector< int > >  vec_of_vec;
std::vector< int > tmp;

for (int i = 0 ; i < 100; ++i) {
foo(tmp,i); // fills tmp with an arbitrary number of ints, different for each i.
vec_of_vec.push_back(tmp);
tmp.clear();
}

现在,由于 .clear() 不会减少容量,如果 tmp 的一个特定实例小于 tmp.capacity() , tmp.capacity() 是否会收缩以适应 tmp.size() 一旦它被推回到 vec_o​​f_vec 上?即哪个构造函数执行 push_back 调用,并且在此过程中修改了容量?

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