这个概念在python中也有,在python中,类内实现了迭代协议iter()后,便可以通过for循环对类进行遍历。
在c++中如何使用迭代器呢。
auto b = v.begin(),e = v.end();
end()返回迭代器,该迭代器指向下一个元素,当容器v为空时,begin和end返回的是同一个迭代器。
迭代器支持的运算
== !=
用来比较两个迭代器是否相等,指向同一个元素则相等,不相等类推
*iter 返回迭代器所指元素的引用
iter->item 获取iter,名为item的成员 等价于(*iter).item
++iter --iter
> >= < <= 迭代器位置前小后大,参与比较的必须是同一个容器中的元素
迭代器类型
vector<int>::iterator it;
vector<int>::const_iterator it;
使用注意
容器在使用迭代器时,如果使用了添加操作,会使迭代器失效(失效具体是什么意思?)