Цей алгоритм дозволяє виконувати певні дані над кожним елементом в контейнері. Ми пишемо власну функцію, щоб визначити, які дані виконувати. Ця наша функція не має права модифікувати дані, але вона може їх виводити або використовувати їх значення у своїй роботі.
В прикладі 15.9 for_each() використовується для переведення всіх значень масиву з дюймів у сантиметри і виведення їх на екран. Ми пишемо функцію in_to_cm(), яка просто множить значення на 2.54, і передаємо адресу цієї функції в якості третього аргументу алгоритму.
#include<iostream>
#include<conio>
#include<algorithm>
using namespace std;
void in_to_cm(double); //оголошення
int main()
{double inches[]={3.5,6.2,1.0,12.75,4.33};
for_each(inches,inches+5,in_to_cm);
cout<<endl;
getch();
return 0;
}
void in_to_cm(double in)
{cout<<(in*2.54)<<' ';}
Програма 15.9
Результати роботи програми виглядають так:
