C++ 迭代器運算子 箭頭運算子->

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

一句話:箭頭運算子是把解引用和成員訪問兩個操作結合在一起,相當於直接訪問迭代器所指物件的屬性

相關文章