Алгоритм 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; |
}