std::unique()
Удаляет подряд идущие дубликаты, возвращает новый конец.
Сигнатура
iterator std::unique(first, last)Алгоритм std::unique() убирает подряд идущие повторы, перемещая уникальные элементы в начало, и возвращает итератор на новый конец. Обычно применяется после sort вместе с erase.
std::vector<int> v = {1, 1, 2, 3, 3};
auto last = std::unique(v.begin(), v.end());
v.erase(last, v.end());
// вектор: {1, 2, 3}
std::cout << v.size(); // результат: 3