C++でprevを使ってみる

nextを使えばイテレータitをn個だけ戻すことができる。

    it = std::prev(it, n);

実行結果

5
2
4
1
3

ソースコード。

#include <iostream>
#include <iterator>
#include <vector>

int main()
{
    std::vector<int> v = { 3, 1, 4, 2, 5 };
    
    decltype(v)::iterator it = v.begin();
    it = std::next(it, 5);

    for (int i = 5; i > 0; i--) { 
        it = std::prev(it);
        std::cout << *it << std::endl;
    } 
}

コメント

タイトルとURLをコピーしました