Movatterモバイル変換


[0]ホーム

URL:


cplusplus.com

Reference

<algorithm>

function template
<algorithm>

std::for_each

template <class InputIterator, class Function>   Function for_each (InputIterator first, InputIterator last, Function fn);
Apply function to range
Applies functionfn to each of the elements in the range[first,last).

The behavior of this template function is equivalent to:
1
2
3
4
5
6
7
8
9
template<class InputIterator,class Function>  Function for_each(InputIterator first, InputIterator last, Function fn){while (first!=last) {    fn (*first);    ++first;  }return fn;// or, since C++11: return move(fn);}

Parameters

first, last
Input iterators to the initial and final positions in a sequence. The range used is[first,last), which contains all the elements betweenfirst andlast, including the element pointed byfirst but not the element pointed bylast.
fn
Unary function that accepts an element in the range as argument.
This can either be a function pointer or amove constructible function object.
Its return value, if any, is ignored.

Return value

Returnsfn.
Returnsfn, as if callingstd::move(fn).

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// for_each example#include <iostream>// std::cout#include <algorithm>// std::for_each#include <vector>// std::vectorvoid myfunction (int i) {// function:  std::cout <<' ' << i;}struct myclass {// function object type:voidoperator() (int i) {std::cout <<' ' << i;}} myobject;int main () {  std::vector<int> myvector;  myvector.push_back(10);  myvector.push_back(20);  myvector.push_back(30);  std::cout <<"myvector contains:";  for_each (myvector.begin(), myvector.end(), myfunction);  std::cout <<'\n';// or:  std::cout <<"myvector contains:";  for_each (myvector.begin(), myvector.end(), myobject);  std::cout <<'\n';return 0;}

Output:
myvector contains: 10 20 30myvector contains: 10 20 30


Complexity

Linear in thedistance betweenfirst andlast: Appliesfn to each element.

Data races

The objects in the range[first,last) are accessed (each object is accessed exactly once).
These objects may be modified ifInputIterator is amutable iterator type andfn is not a constant function.

Exceptions

Throws iffn throws or if any of the operations on iterators throws.
Note that invalid arguments causeundefined behavior.

See also

transform
Transform range(function template)
find
Find value in range(function template)
search
Search range for subsequence(function template)
Home page |Privacy policy
© cplusplus.com, 2000-2025 - All rights reserved -v3.3.4s
Spotted an error? contact us

[8]ページ先頭

©2009-2026 Movatter.jp