РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
321 of 815 menu

Функция front_inserter

Функция front_inserter создаёт специальный итератор вставки, который при присваивании ему значения добавляет это значение в начало контейнера. В параметр функции мы передаём сам контейнер, в который будут вставляться элементы. Такой итератор удобно использовать вместе с алгоритмами стандартной библиотеки, например, с copy, для заполнения контейнера в обратном порядке.

Синтаксис

std::front_inserter(container)

Пример

Давайте скопируем элементы вектора {1, 2, 3, 4, 5} в начало списка с помощью front_inserter:

#include <iostream> #include <vector> #include <list> #include <iterator> #include <algorithm> using namespace std; int main() { vector<int> src = {1, 2, 3, 4, 5}; list<int> dst; copy(src.begin(), src.end(), front_inserter(dst)); for (int el : dst) { cout << el << ' '; } cout << endl; return 0; }

Результат выполнения кода:

5 4 3 2 1

Пример

Давайте вручную вставим несколько элементов в начало списка через итератор, полученный от front_inserter:

#include <iostream> #include <list> #include <iterator> using namespace std; int main() { list<int> lst; auto it = front_inserter(lst); *it = 1; *it = 2; *it = 3; for (int el : lst) { cout << el << ' '; } cout << endl; return 0; }

Результат выполнения кода:

3 2 1

Смотрите также

  • функция back_inserter,
    которая вставляет элементы в конец контейнера
  • функция inserter,
    которая вставляет элементы в указанную позицию
  • функция begin,
    которая возвращает итератор на начало контейнера
  • функция end,
    которая возвращает итератор на конец контейнера
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить