Вставка итераторов против вставки функции-члена контейнера
Я изучал 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));