我们经常遇见一边遍历,一边删除的情况。这种删除,很容易引起迭代器失效,进而引起bug.
而protobuf提供了连续容器删除的时候,erase返回下一个元素的迭代器
可以参考以下写法
for (auto iter = list.begin();iter!=list.end();){
if(){
iter = list.erase(iter);
}
else{
iter++;
}
}
我们经常遇见一边遍历,一边删除的情况。这种删除,很容易引起迭代器失效,进而引起bug.
而protobuf提供了连续容器删除的时候,erase返回下一个元素的迭代器
可以参考以下写法
for (auto iter = list.begin();iter!=list.end();){
if(){
iter = list.erase(iter);
}
else{
iter++;
}
}