advanceを使うとイテレータをn回進めることができる。
実行結果。
3
1
4
2
5
ソースコード。
#include <iostream>
#include <iterator>
#include <vector>
int main()
{
std::vector<int> v = { 3, 1, 4, 2, 5 };
decltype(v)::iterator val = v.begin();
std::advance(val, 0);
std::cout << *val << std::endl;
std::advance(val, 1);
std::cout << *val << std::endl;
std::advance(val, 1);
std::cout << *val << std::endl;
std::advance(val, 1);
std::cout << *val << std::endl;
std::advance(val, 1);
std::cout << *val << std::endl;
}
コメント