一、迭代器的本质
vector的迭代器本质上就是一个被封装的指针。迭代器的用法和指针的用法十分相似,就是一个像指针的假指针,我们不妨把迭代器看作一个伪指针。
二、迭代器的使用
句式(可以看到迭代器和指针很像):
迭代器有四种:
1、正向迭代器:容器名<类型>::iterator 迭代器名
2、常量正向迭代器:容器名<类型>::const_iterator 迭代器名
3、反向迭代器:容器名<类型>::reverse_iterator 迭代器名
4、常量反向迭代器:容器名<类型>::const_reverse_iterator 迭代器名
三、迭代器失效问题
简单来说,迭代器失效就像指针失效一样,即指向的数据不是原来我们以为的数据。
举个例子:
插入数据也是同理:
结论:迭代器的指向发生不理想的改变,该迭代器就会失效。