其实这里我们可以看到,vector所占据的内存,并不是通过size()函数查看的,而是通过capacity()函数查看的,而erase()、pop_back()和clear()函数(pop_back、clear底层均用erase实现)改变的仅仅是size()函数的返回值,并没有清除存储空间。
清除空间的方式:
vector<int> ().swap(name);
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> vec;
cout << "capacity: " << vec.capacity() << endl;
cout << "size: " << vec.size() << endl;
vec.push_back(1);
vec.push_back(1);
vec.push_back(1);
cout << "capacity: " << vec.capacity() << endl;
cout << "size: " << vec.size() <<