Я изучал 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()
и бла
Так что я знаю, как реализовать все это. Мой вопрос довольно прост, в чем разница? Зачем использовать вставные итераторы ?
достаточно просто, учитель должен был просто сказать это явно и вместо того, чтобы быть старым неявным меркуриальным laskasjflasjdf. –
Всегда лучше понять, да :) Суть в том, что 'back_insert_iterator' является« просто »выходным итератором, который вызывает« push_back »в своем операторе присваивания (например, см. Http://www.cplusplus.com/reference/станд/итератор/back_insert_iterator /). Если вам интересно, я, кажется, помню книгу Джосуттиса «Стандартная библиотека C++», в которой содержится более подробное объяснение всего этого. –
Я куплю эту книгу в своей следующей зарплате :) –