c++中清空vector元素的三种方法
//by 鸟哥 清空vector的三种方法//有疑问请留言或加群 1032082534#include <iostream>#include <vector>using namespace std;int main(){vector <int> vecInt;for (int i=0;i<50;i++){...
文章共855字 · 阅读需要大约3分钟
一键AI生成摘要,助你高效阅读
问答
·
//by 鸟哥 清空vector的三种方法
//有疑问请留言或加群 1032082534
#include <iostream>
#include <vector>
using namespace std;
int main(){
vector <int> vecInt;
for (int i=0;i<50;i++)
{
vecInt.push_back(i);
}
cout<<"capacity:"<<vecInt.capacity(); //j=64
cout<<"size:"<<vecInt.size(); //i=50
cout<<endl;
//1、使用clear ,清空元素,不回收空间
vecInt.clear();
cout<<"capacity:"<<vecInt.capacity(); //j=64
cout<<"size:"<<vecInt.size(); //i=50
cout<<endl;
//2、erase循环删除,不回收空间
for (int i=0;i<50;i++)
{
vecInt.push_back(i);
}
for ( vector <int>::iterator iter=vecInt.begin();iter!=vecInt.end();)
{
iter=vecInt.erase(iter);
}
cout<<"capacity:"<<vecInt.capacity(); //j=64
cout<<"size:"<<vecInt.size(); //i=50
cout<<endl;
//3、使用swap,清除元素并回收内存
vector <int>().swap(vecInt); //清除容器并最小化它的容量,
// vecInt.swap(vector<int>()) ; 另一种写法
cout<<"capacity:"<<vecInt.capacity(); //j=0
cout<<"size:"<<vecInt.size(); //i=0
cout<<endl;
}
运行结果:
capacity:64size:50
capacity:64size:0
capacity:64size:0
capacity:0size:0
更多推荐
已为社区贡献9条内容
所有评论(0)