C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
C++ Algorithm Function for_each()C++ Algorithm for_each() function applies the function func to all of the elements in the range from 'first' to 'last'. Syntaxtemplate <class InputIterator, class Function> Function for_each (InputIterator first, InputIterator last, Function func); Parameterfirst: It specifies the first element in the list. last: It specifies the last element in the list. func: It is an unary function which accepts the argument from the range. Return valueThe function returns 'func'. Example 1#include <iostream> #include <algorithm> #include <vector> void newfunction (int k) { std::cout << " " <<k; } struct newclass { void operator () (int k) { std::cout <<" "<<k; } } newobject; int main() { std::vector<int> newvector; newvector.push_back(50); newvector.push_back(100); newvector.push_back(150); std::cout << "newvector contains:\n"; for_each (newvector.begin () , newvector.end (), newfunction); std::cout<< "\n newvector contains:\n"; for_each (newvector.begin (), newvector.end(), newfunction); std::cout<<"\n"; return 0; } Output: newvector contains: 50 100 150 newvector contains: 50 100 150 Example 2#include<iostream> #include<vector> #include<algorithm> using namespace std; void printx1(int b) { cout << b * 2 << " "; } struct Class1 { void operator() (int b) { cout << b * 3 << " "; } } obj1; int main() { int ar[5] = { 6, 7, 8, 9, 10 }; cout << "Using Arrays:" << endl; cout << "Multiple of 2 of elements are : "; for_each(ar, ar + 5, printx1); cout << endl; cout << "Multiple of 3 of elements are : "; for_each(ar, ar + 5, obj1); cout << endl; vector<int> ar1 = { 2,3,5,7,1 }; cout << "Using Vectors:" << endl; cout << "Multiple of 2 of elements are : "; for_each(ar1.begin(), ar1.end(), printx1); cout << endl; cout << "Multiple of 3 of elements are : "; for_each(ar1.begin(), ar1.end(), obj1); cout << endl; } Output: Using Arrays: Multiple of 2 of elements are : 12 14 16 18 20 Multiple of 3 of elements are : 18 21 24 27 30 Using Vectors: Multiple of 2 of elements are : 4 6 10 14 2 Multiple of 3 of elements are : 6 9 15 21 3 ComplexityThe function moves in a linear way, starting from the first element going towards the last one. For each element of the list value of 'pred' is checked. The search goes on until a mismatch for the ?pred? value is encountered. Data racesEither all the objects in the specified range or some of them are accessed by the function. ExceptionsThe function throws an exception if any of the argument throws one.
Next TopicC++ Algorithm move Function
|