最近又遇到这个逻辑,耽误了不少时间,现在整理下:
erase返回的是指向删除元素的下一个元素的迭代器,那么根据这个逻辑,所以一次循环删除逻辑如下;
for (auto it = vecReply.begin(); it != vecReply.end();)
{
if (it->xx== xx)
{
it = vecReply.erase(it);
}
else
{
++it;
}
}
完。
最近又遇到这个逻辑,耽误了不少时间,现在整理下:
erase返回的是指向删除元素的下一个元素的迭代器,那么根据这个逻辑,所以一次循环删除逻辑如下;
for (auto it = vecReply.begin(); it != vecReply.end();)
{
if (it->xx== xx)
{
it = vecReply.erase(it);
}
else
{
++it;
}
}