本篇文章主要讲解单个删除的例子:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> InVec; // int 类型的容器
for (int i = 0; i <= 7; i++)
{
InVec.push_back(i);
}
InVec.push_back(5);
for (auto i = InVec.begin(); i != InVec.end();)
{
if (*i == 5)
{
i = InVec.erase(i);
continue; // 为防止内存泄漏这里应该配置continue
}
i++;
}
for (int i = 0; i < InVec.size(); i++)
cout << InVec[i] << endl;
}
运行结果:
很明显能看出,vector::erase() 函数移除了指定选项,并且将后面的选项往前压。