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

Функция for_each

Функция for_each применяет заданную функцию к каждому элементу диапазона. В первый параметр мы передаем итератор на начало диапазона, во второй - итератор на конец диапазона, а в третий - функцию, которую следует применить к каждому элементу. Функция возвращает копию переданной функции.

Синтаксис

for_each(first, last, func)

Пример

Давайте применим функцию, выводящую элемент на экран, к каждому элементу вектора:

#include <iostream> #include <vector> #include <algorithm> using namespace std; void print(int value) { cout << value << " "; } int main() { vector<int> vec = {1, 2, 3, 4, 5}; for_each(vec.begin(), vec.end(), print); return 0; }

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

1 2 3 4 5

Пример

Давайте с помощью лямбда-функции увеличим каждый элемент вектора в 2 раза:

#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { vector<int> vec = {1, 2, 3, 4, 5}; for_each(vec.begin(), vec.end(), [](int &value) { value = value * 2; }); for (int value : vec) { cout << value << " "; } return 0; }

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

2 4 6 8 10

Пример

Давайте с помощью функции for_each найдем сумму всех элементов вектора:

#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { vector<int> vec = {1, 2, 3, 4, 5}; int sum = 0; for_each(vec.begin(), vec.end(), [&sum](int value) { sum = sum + value; }); cout << sum << endl; return 0; }

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

15

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

  • функция transform,
    которая преобразует элементы диапазона
  • функция copy,
    которая копирует элементы диапазона
  • функция count,
    которая считает количество вхождений элемента
  • функция accumulate,
    которая вычисляет сумму элементов диапазона
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить