Разница между std::unique и std::unique_copy при удалении дубликатов в C++ заключается в том, что std::unique удаляет дубликаты любого элемента, присутствующего последовательно в диапазоне, выполняя эту задачу для всех подгрупп, в которых последовательно присутствует один и тот же элемент. 12
std::unique_copy позволяет скопировать результат std::unique в другой контейнер, при этом копируется только первый элемент из каждой последовательной группы эквивалентных элементов в диапазоне. 12
Таким образом, std::unique удаляет дубликаты в исходном диапазоне, а std::unique_copy позволяет скопировать результат в другой контейнер, исключив последовательные дубликаты (элементы, которые равны предыдущему). 4