C++ Tutorial/STL Introduction/Function object

Материал из C\C++ эксперт
Перейти к: навигация, поиск

Function object that prints the passed argument

<source lang="cpp">/* The following code example is taken from the book

* "The C++ Standard Library - A Tutorial and Reference"
* by Nicolai M. Josuttis, Addison-Wesley, 1999
*
* (C) Copyright Nicolai M. Josuttis 1999.
* Permission to copy, use, modify, sell and distribute this software
* is granted provided this copyright notice appears in all copies.
* This software is provided "as is" without express or implied
* warranty, and with no claim as to its suitability for any purpose.
*/
  1. include <iostream>
  2. include <vector>
  3. include <algorithm>

using namespace std; // simple function object that prints the passed argument class PrintInt {

 public:
   void operator() (int elem) const {
       cout << elem << " ";
   }

}; int main() {

   vector<int> coll;
   // insert elements from 1 to 9
   for (int i=1; i<=9; ++i) {
       coll.push_back(i);
   }
   // print all elements
   for_each (coll.begin(), coll.end(),    // range
             PrintInt());                 // operation
   cout << endl;

}</source>

1 2 3 4 5 6 7 8 9