Вставка итераторов против вставки функции-члена контейнера

Я изучал STL в течение последних двух недель и имел дело со многими vector<T>, deque<T>, а также list<T>, Все те времена, которые я использовал push_back(), push_front(), insert(), В настоящее время, однако, я был представлен "Вставить итераторы", которые являются следующими:

  • back_insert_iterator, который похож на push_back() и требует, чтобы контейнер имел push_back() функция для работы
  • front_insert_iterator, который похож на push_front() и требует, чтобы контейнер имел push_front()
  • insert_iterator, аналогичный insert() и бла-бла-бла

Так что я знаю, как реализовать все это. Мой вопрос довольно прост, в чем разница? Зачем использовать итераторы вставки?

1 ответ

Решение

Потому что вы можете передать их в алгоритмы, например,

std::copy(v1.begin(), v1.end(), std::back_inserter(v2));
Другие вопросы по тегам