C++ Algorithm Library - for_each() Function


Advertisements

Description

The C++ function std::algorithm::for_each() applies provided function on each element of the range.

Declaration

Following is the declaration for std::algorithm::for_each() function form std::algorithm header.

C++98

template <class InputIterator, class Function>
Function for_each (InputIterator first, InputIterator last, Function fn);

Parameters

  • first − Input iterator to the initial position.

  • last − Final iterator to the final position.

  • fn − Unary function that accepts an element in the range as argument.

Return value

Returns function fn.

Exceptions

Linear.

Time complexity

Throws exception if either function fn or an operation on an iterator throws exception.

Please note that invalid parameters cause undefined behavior.

Example

The following example shows the usage of std::algorithm::for_each() function.

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int print_even(int n) {
   if (n % 2 == 0)
      cout << n << ' ';
}

int main(void) {
   vector<int> v = {1, 2, 3, 4, 5};

   cout << "Vector contains following even numebr" << endl;

   for_each(v.begin(), v.end(), print_even);

   cout << endl;

   return 0;
}

Let us compile and run the above program, this will produce the following result −

Vector contains following even numebr
2 4 
algorithm.htm
Advertisements