以vector容器为例,我们在使用容器的时候,使用push_back函数的时候,容器会预留一些空间。为了防止容量的浪费,我们采用swap的方式。
#includeusing namespace std; #include void text() { vector v; for(int i=0;i<10;++i) { v.push_back(i); } //删除前 cout<<"V size:"< (v).swap(v); cout<<"V size:"< 结果我们可以看到:
V size:10
V capacicy:16这是第一次显示容器的大小和容量,我们发现输入了十个数据之后,容器的大小为10,而容器的容量为16
V size:9
V capacicy:16这是在删除了一个数据后,第二次显示容器的大小和容量,我们发现大小改变了,而容量仍然未变。
V size:9
V capacicy:9这是用swap 匿名对象 交换了容器,我们可以看到现在容器的容量为9,和容器的大小相等。原有的16空间释放,现有的9大小保,。节约了容量。



