Я пытаюсь понять алгоритмы STL.
Копия определяется как:
template<class InputIterator, class OutputIterator>
OutputIterator copy ( InputIterator first, InputIterator last, OutputIterator result )
Может ли кто-нибудь объяснить, почему следующее работает, когда векторы и запросы смешаны, но не работает, когда векторы и множества смешаны.*
Я понимаю, что векторы / deque имеют итераторы с произвольным доступом, где в наборе есть двунаправленные итераторы.Я не понимаю, почему компиляция не удается, когда требуются только итераторы ввода / вывода.
PS: Это всего лишь эксперимент, чтобы улучшить мое понимание :)