Mega Code Archive

 
Categories / C++ / Algorithm
 

Use for_each with predicate

#include <iostream> using std::cout; using std::endl; #include <algorithm> #include <numeric> #include <vector> #include <iterator> void outputSquare( int ); int main() {   std::ostream_iterator< int > output( cout, " " );    int a2[ 10 ] = { 100, 2, 8, 1, 50, 3, 8, 8, 9, 10 };    std::vector< int > v2( a2, a2 + 10 ); // copy of a2    cout << "Vector v2 contains: ";    std::copy( v2.begin(), v2.end(), output );    // output square of every element in v    cout << "\n\nThe square of every integer in Vector v is:\n";    std::for_each( v2.begin(), v2.end(), outputSquare );    cout << endl;    return 0; } void outputSquare( int value ) {    cout << value * value << ' '; } /*  Vector v2 contains: 100 2 8 1 50 3 8 8 9 10 The square of every integer in Vector v is: 10000 4 64 1 2500 9 64 64 81 100  */