#include <iostream> #include <vector> #include <algorithm> using namespace std; int main(){ vector<int> a; int b[]={1,2,3,4,5}; vector<int> c(b,b+sizeof(b)/sizeof(int)); a.insert(a.begin(),3); a.insert(a.begin(),2,2); a.insert(a.begin(),c.begin(),c.end()); a.push_back(2); a.pop_back(); cout<<"a的大小="<<a.size()<<",容量="<<a.capacity()<<endl; a.erase(a.begin(),a.begin()+1); cout<<"a的大小="<<a.size()<<",容量="<<a.capacity()<<endl; swap(*(a.begin()+1),*a.end()); a.pop_back(); cout<<"a的大小="<<a.size()<<",容量="<<a.capacity()<<endl; for(int i=0;i<a.size();++i){ cout<<a[i]<<" "; } a.clear(); a.reserve(20); cout<<endl<<"a的大小="<<a.size()<<",容量="<<a.capacity()<<endl; return 0; }
【注意】使用push_back()时vector容量会进行扩容,一般都是2倍扩容。