Как передвинуть итератор сразу на несколько позиций?

Рейтинг: 1Ответов: 1Опубликовано: 26.11.2014

Для разъяснения читаем исходник:

#include <iostream>
#include <list>

using namespace std;

int main(){
    list<int> l;

    l.push_back(10);
    l.push_back(20);
    l.push_back(30);
    l.push_back(40);
    l.push_back(50);

    list<int>::iterator it = l.begin();
    it++; // как не прибегая к такому способу сдвинуть итератор сразу на 3 позиции?

    l.insert(it, 22);

    return 0;
}

Ответы

▲ 7Принят

Есть хороший метод advance. Он умеет сдвигать итератор на нужное число в нужную сторону.