经常使用std::vector的都知道,我一般循环遍历时,都这样使用
std::vector<int> vDatas;
vDatas.pushback(1);
vDatas.pushback(2);
vDatas.pushback(3);
for(auto it: vDatas)
{
int a = it;
}
如果根据条件找到数组中一个数值,需要进行删除,无法直接对it进行删除,需要改为下面这个操作
for(int i = 0;i<vDatas.size();i++)
{
cout<<vDatas[i]<<" ";
if(vDatas[i]==2)
{
v.erase(v.begin()+i);
}
}
使用的函数还是erase,但是需要有位置的索引,所以换成这种方式进行遍历,才可以。