我想知道当将向量推到向量向量上时容量是否会延续。
假设我有一个看起来像的代码
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()
缩小以适应?即 push_back 调用哪个构造函数,过程中是否修改了容量?tmp.size()
vec_of_vec