最近在学习c++中的STL,发现其中的容器大多都有迭代器,我在使用迭代器的时候连续踩了同一个坑,就是调用begin()方法,作为迭代器开始的位置,每次做循环打印之后,在做其他操作时,想要再次打印全部值发现数据不完整,原因就是因为没有把迭代器的起点重置,因为每次循环之后迭代器都向后移动了n位,所以直接使用循环后的迭代器作为起点,就会出现数据打印不完整的情况

解决方法:

只需要重置迭代器:

比如 iterator it = lst.begin(); 使用重置后的迭代器就不会出现数据不完整的情况了

更多推荐