С++ для начинающих


Алгоритм for_each()


template< class  InputIterator, class Function >

Function

for_each( InputIterator first,

          InputIterator last, Function func );

for_each() применяет объект-функцию func к каждому элементу в диапазоне [first,last). func не может изменять элементы, поскольку итератор записи не гарантирует поддержки присваивания. Если же модификация необходима, следует воспользоваться алгоритмом transform(). func может возвращать значение, но оно игнорируется.

#include <algorithm>

#include <vector>

#include <iostream.h>

template <class Type>

void print_elements( Type elem ) { cout << elem << " "; }

          

int main()

{

           vector< int, allocator > ivec;

           for ( int ix = 0; ix < 10; ix++ )

                 ivec.push_back( ix );

          

           void (*pfi)( int ) = print_elements;

           for_each( ivec.begin(), ivec.end(), pfi );

          

           return 0;

}



Содержание раздела