- 所有標準庫容器都支援迭代器,只有少數幾種才支援下標運算
- 迭代器運算子
運算子 | 作用 |
---|---|
*iter | 返回迭代器iter所指元素的引用 |
iter -> mem | 解引用iter,並獲取元素名為mem的成員 |
++iter | 令iter指示容器的下一個元素 |
–iter | 令iter指示容器的上一個元素 |
iter1 == iter2 iter1 != iter2 |
判斷兩個迭代器是否相等(不相等), 如果兩個迭代器指示的是同一個元素 或者它們是同一個容器的尾後迭代器,則相等;反之,不相等 |
iter.begin()==iter.end()
則容器為空- 和指標類似,也可以通過解引用迭代器來獲取它所指示的元素
- 結合解引用和成員訪問操作
- 解引用迭代器可以獲取到迭代器所指的物件,如果該物件的型別恰好是類,就有希望進一步訪問它的成員。
(*it).mem //訪問迭代器所指物件的mem屬性
it -> mem //箭頭運算子是把解引用和成員訪問兩個操作結合在一起
一句話:箭頭運算子是把解引用和成員訪問兩個操作結合在一起,相當於直接訪問迭代器所指物件的屬性