vector的几种清空容器(删除)办法

//1. clear(),清空元素,但不回收空间
vecnum.clear();

//2. 使用 erase循环删除,结果同上

vector<int>::iterator it;
for (it = vecnum.begin(); it != vecnum.end(); )
{
    //注意使用erase()方法时,迭代不要随意的++
    it = vecnum.erase(it);
}

cout << "new2: size = " << vecnum.size() << " ; capacity = " << vecnum.capacity() << endl;

//结论:erase在每次操作时,迭代器指针会整体前移1,就是每次都会移动全部数据,所以vector不适合做频繁删除的容器

//3. 最简单的使用swap,清除元素并回收内存
vector().swap(vecnum);
//打印vector的大小和容量
cout << "new2: size = " << vecnum.size() << " ; capacity = " << vecnum.capacity() << endl;

你可能感兴趣的:(C++,前端,c++,html)