/****************************************************
** filename: vec_erase.cpp
** created: 2018-03-26 18:05
** brief: 遍历删除std::vector中满足条件的元素
***************************************************/
#include <vector>
struct info_t
{
int id;
bool flag;
};
int main()
{std::vector<info_t> vec;
vec.clear();
info_t obj;
obj.id = 1;
obj.flag = true;
vec.push_back(obj);
std::vector<info_t>::iterator iter;
for( iter = vec.begin(); iter != vec.end(); ){
info_t tmp = *iter;
if( tmp.flag ){
iter = vec.erase(iter);
}else{
++iter;
}
}
}
可以遍历vector中flag=true的元素