反復子(iterator)は、コンテナのそれぞれの要素にアクセスするときに使うものです。 反復子という名前が付いているのは、通常、コンテナの各要素に順にアクセスするために繰り返し使われるからです。 たとえば、名前のリストの各要素(すなわち個々の名前)を表示したいときには、次のようにします。
list::iterator it = namelist.begin();
for (; it != namelist.end(); it++)
{
cout << *it << endl;
}
次の例は、整数値1~10をベクタに保存し、アルゴリズムaccumulate()を使って合計を求め、出力する例です。
#include <numeric>
#include <vector>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
typedef vector<int>::iterator iterator;
int d[10] = {1,2,3,4,5,6,7,8,9,10};
vector<int> v(d, d+10);
int sum = accumulate(v.begin(), v.end(), 0);
cout << "1~10の合計= " << sum << endl;
return 0;
}
実行結果は次のようになります。
1~10の合計= 55