经常使用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,但是需要有位置的索引,所以换成这种方式进行遍历,才可以。