一、利用resize()函数
vector<int> sum(n,1);
sum.resize(0); //直接将向量重置
注意:resize()函数使用时不会改变向量已有元素的值,只会在扩大向量大小时填充元素。
vector<int> sum(n,0);
sum.resize(n+1,2); //只会将第n+1个元素变为2,其他不变。
sum.resize(n,1); //不会改变任何值,只是最后一个元素被删去。
二、利用clear()函数
vector<int> sum(3,1);
sum.clear(); //这里清空后依旧可以访问到原来的元素,表明这里的删除只是将指针移动到来开始位置,但并没有回收内存。
三、利用erase()函数
vector<int> sum(3,1);
//第一种:指定删除某个位置的元素,it为某个位置的迭代器,删除后所有后面的元素前移一个位置。
sum.erase(it);
//第二种,删除某一段元素,区间是左闭右开,即删除的是[it1,it2),不包括it2指向的元素。
sum.erase(it1,it2);
四、利用swap()函数
vector<int> sum(3,1);
vector<int> tmp;
sum.swap(tmp);//交换两个向量即可重置原向量
|