关于erase的相关问题

来源:5-6 字符串简介

OndOo

2020-12-29

老师好,在循环下利用erase擦出迭代器所指向的元素时,其返回值是随机也就是野指针,这样的情况就会无法继续循环遍历,请问如何解决呢 容器是vector

当时有考虑过创建一个临时迭代器来保存需要擦除的迭代器的下一个值
temp_it = it + 1;
vec.erase(it);
it = temp_it;

但是这样也是失败的,请老师解答,谢谢。

写回答

1回答

quickzhao

2020-12-29

你试试 it = vec.erase(it);  

0
4
OndOo
回复
quickzhao
好的 谢谢老师 我试试在类里面添加一个bool属性。
2020-12-30
共4条回复

重学C++ ,重构你的C++知识体系

一部大片,一段历史,构建C++知识框架的同时重塑你的编程思维

3884 学习 · 1103 问题

查看课程