我们知道vector的增长方式,但是即使用erase函数,并不能将其空间进行回收,找到一种办法来回收vector的空间。
vector<int> t;
for(int i = 0;i<50;i++)
{
t.push_back(i);
cout<<"i="<<i<<"; size="<<t.capacity()<<endl;
}
for(int i = 49;i>=0;i--)
{
t.clear();
cout<<"i="<<i<<"; size="<<t.capacity()<<endl;
}
vector <int>().swap(t);
cout<<"; size="<<t.capacity()<<endl;
其中最后一行显示的是