admin管理员组

文章数量:1612061

vector<int> ivec;
cout << "大小:" << ivec.size() << ",容量" << ivec.capacity() << endl;//0,0
ivec.push_back(10);
cout << "大小:" << ivec.size() << ",容量" << ivec.capacity() << endl;//1,1
ivec.push_back(20);
cout << "大小:" << ivec.size() << ",容量" << ivec.capacity() << endl;//2,2
ivec.push_back(30);
cout << "大小:" << ivec.size() << ",容量"<<ivec.capacity() << endl;//3,3
ivec.push_back(40);
cout << "大小:" << ivec.size() << ",容量" << ivec.capacity() << endl;//4,4
ivec.push_back(50);
cout << "大小:" << ivec.size() << ",容量" << ivec.capacity() << endl;//5,5
ivec.push_back(60);
cout << "大小:" << ivec.size() << ",容量" << ivec.capacity() << endl;//6,6
ivec.push_back(70);
cout << "大小:" << ivec.size() << ",容量" << ivec.capacity() << endl;//7,9
ivec.push_back(80);
cout << "大小:" << ivec.size() << ",容量" << ivec.capacity() << endl;//8,9
ivec.push_back(40);
cout << "大小:" << ivec.size() << ",容量" << ivec.capacity() << endl;//9,9
ivec.push_back(40);
cout << "大小:" << ivec.size() << ",容量" << ivec.capacity() << endl;//10,13
ivec.push_back(1);
ivec.push_back(1);
ivec.push_back(1);
cout << "大小:" << ivec.size() << ",容量" << ivec.capacity() << endl;//13,13
ivec.push_back(1);
cout << "大小:" << ivec.size() << ",容量" << ivec.capacity() << endl;//14,19

capacity() 和size()区别:
size()为容器实际元素的个数
capacity()为容器目前所能容纳的最大元素个数,一旦容量不够了,就会重新分配一段连续的比原有空间大的内存大小,将原来的元素拷贝到新的容器空间内,继续添加,每一次容量的增长50%

reserve(n)
按需申请n个大小的容量,此时容量capacity就变为n

本文标签: VectorCapacityreserve