9.4 How a vector Grows(一个vector如何增长)
#include <bits/stdc++.h> using namespace std; int main() { vector<int> vec; cout << "vec size: " << vec.size() << " capacity: " << vec.capacity() << endl; //capacity:vec在重新分配空间之前,vec能够拥有的元素数量 for (vector<int>::size_type i = 0; i != 36; ++i) { vec.push_back(i); } cout << "vec size: " << vec.size() << " capacity: " << vec.capacity() << endl; system("PAUSE"); return 0; }


#include <bits/stdc++.h> using namespace std; int main() { vector<int> vec; cout << "vec size: " << vec.size() << " capacity: " << vec.capacity() << endl; vec.reserve(20);//调整vec能够在空间再分配前的数量 cout << "vec size: " << vec.size() << " capacity: " << vec.capacity() << endl; system("PAUSE"); return 0; }
reserve的使用:在已知container大小的情况下,先使用reserve预分配空间,能够使数据储存速度加快。
reserve:预分配空间,不开辟空间 resize:重新分配空间,开辟空间

浙公网安备 33010602011771号