- 所有标准库容器都支持迭代器,只有少数几种才支持下标运算
- 迭代器运算符
*iter |
返回迭代器iter所指元素的引用 |
iter -> mem |
解引用iter,并获取元素名为mem的成员 |
++iter |
令iter指示容器的下一个元素 |
--iter |
令iter指示容器的上一个元素 |
iter1 == iter2 iter1 != iter2 |
判断两个迭代器是否相等(不相等), 如果两个迭代器指示的是同一个元素 或者它们是同一个容器的尾后迭代器,则相等;反之,不相等 |
iter.begin()==iter.end()
则容器为空
- 和指针类似,也可以通过解引用迭代器来获取它所指示的元素
- 结合解引用和成员访问操作
- 解引用迭代器可以获取到迭代器所指的对象,如果该对象的类型恰好是类,就有希望进一步访问它的成员。
(*it).mem //访问迭代器所指对象的mem属性
it -> mem //箭头运算符是把解引用和成员访问两个操作结合在一起
一句话:箭头运算符是把解引用和成员访问两个操作结合在一起,相当于直接访问迭代器所指对象的属性