Цель этого вопроса - познакомить вас с двумя общими синтаксисами метода векторного стирания. Для удаления отдельного элемента используйте
v.erase ( передать итератор, указывающий на элемент, который вы хотите стереть )
Например, v.erase(v.begin())
сотрет первый элемент вектора или другими словами удалит элемент в позиции 0 вектора.
Так как здесь v.begin()
является итератором первого элемента вектора, при условии, что вектор не пуст.
Аналогично,
v.erase(v.begin() + x -1);
стирает элемент в позиции вектора x.
Теперь для удаления диапазона в векторе используется перегруженный метод стирания. Он используется следующим образом:
v.erase (iter1, iter2)
Он удалит все элементы в диапазоне от iter1 до iter2, но не включая iter2, то есть элементы в диапазоне [iter2, iter2) будет удален. Помните, что iter2 не будет удален. Таким образом, этот код
v.erase(v.begin() + b - 1, v.begin() + c - 1);
удалит все элементы из индекса b в индекс c, но не включая индекс c.