Из одного итератора можно вычитать другой итератор. Например, разница между итераторами begin()+7 и begin()+2 будет равна числу 5. А разница между итераторами end() и begin() будет равна количеству элементов в векторе.
Метод erase удаляет один элемент или последовательность элемента из вектора. Для удаления одного элемента нужно дать итератор на этот элемент. Например, для удаление первого элемента вектора:
a.erase(a.begin()); а для удаления последовательности передается два итератора - на первый элемент и на элемент, следующий за последним элементом. То есть вызов:
a.erase(a.begin()+k1,a.begin()+k2); удалит k2 -
k1 элемент начиная от a[k1] (включительно) и до
Boshqa iteratorlar
insert
Метод insert позволяет вставить в середину вектора один элемент, несколько равных элементов, или фрагмент этого же и другого вектора.
Первый параметр метода insert() - итератор, указывающий позицию для вставки.
a.insert(a.begin()+5,val) вставляет значение val в элемент a[5] вектора. То, что ранее было в элементе a[5] и далее сдвигается вправо.
Метод insert с тремя параметрами insert(pos, n, val)
Boshqa iteratorlar
А метод insert с тремя параметрами insert(pos, it1, it2) вставляет в позицию pos фрагмент вектора начиная с итератора it1 до итератора it2 (разумееется, не включая it2).