vectorなどの複数の要素を持つクラスをコンテナと呼び、このコンテナの要素を繰り返し取り出すための概念としてイテレータ(反復子)というのがある・・・。
イテレータを使って要素を参照(取得)してみる・・・。
iteratorはvectorでインクルードされているので、ここでインクルードする必要は無いが一応・・・。
型名をstd::vector
vecに3つ要素を追加・・・。
vec.beginでvecの先頭を取得し、itorにセット・・・。
そこから、vec.endがvecの最後尾(最後の要素ではなく、その後ろの部分。)なので、itorが++でそこに行くまで繰り返す・・・。
まるでポインタ演算のようにインクリメントでvecの要素を順に移動していける・・・。
*itorでvecの要素を参照できるのでそれを出力・・・。
$ vi iterator.cpp $ g++ iterator.cpp -o iterator $ ./iterator *itor = 0 *itor = 10 *itor = 20 $
こんな感じでイテレータでvecの要素を参照できた・・・。
イテレータを使うと、挿入や入れ替えなど高度な処理もできるが、それは追々・・・。
Sample/cpp/iterator/iterator/src/iterator at master · bg1bgst333/Sample · GitHub