std::for_each
De cppreference.com
![]() |
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
Déclaré dans l'en-tête <algorithm>
|
||
template< class InputIt, class UnaryFunction > UnaryFunction for_each( InputIt first, InputIt last, UnaryFunction f ); |
||
Applique la fonction donnée
f
objet à la suite de déréférencement chaque itération dans le [first, last)
plage, dans l'ordre. Si InputIt
est un itérateur modifiable, f
peut modifier les éléments de la gamme par l'itérateur déréférencé. Si f
renvoie un résultat, le résultat est ignoré .Original:
Applies the given function object
f
to the result of dereferencing every iterator in the range [first, last)
, in order. If InputIt
is a mutable iterator, f
may modify the elements of the range through the dereferenced iterator. If f
returns a result, the result is ignored.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Sommaire |
[modifier] Paramètres
first, last | - | la gamme d'appliquer la fonction d'
Original: the range to apply the function to The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
f | - | l'objet de fonction unaire appliqué
Original: the unary function object to be applied The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Type requirements | ||
-InputIt must meet the requirements of InputIterator .
| ||
-UnaryFunction must meet the requirements of MoveConstructible . Does not have to be CopyConstructible
|
[modifier] Retourne la valeur
f
. (avant C++11)
std::move(f). (depuis C++11)
[modifier] Complexité
Exactement
last
- first
applications de f
Original:
Exactly
last
- first
applications of f
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[modifier] Mise en œuvre possible
template<class InputIt, class UnaryFunction> UnaryFunction for_each(InputIt first, InputIt last, UnaryFunction f) { for (; first != last; ++first) { f(*first); } return f; } |
[modifier] Exemple
L'exemple suivant utilise une fonction lambda pour incrémenter tous les éléments d'un vecteur, puis calcule une somme d'eux:
Original:
The following example uses a fonction lambda to increment all of the elements of a vector and then computes a sum of them:
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
#include <vector> #include <algorithm> #include <iostream> struct Sum { Sum() { sum = 0; } void operator()(int n) { sum += n; } int sum; }; int main() { std::vector<int> nums{3, 4, 2, 9, 15, 267}; std::cout << "before: "; for (auto n : nums) { std::cout << n << " "; } std::cout << '\n'; std::for_each(nums.begin(), nums.end(), [](int &n){ n++; }); Sum s = std::for_each(nums.begin(), nums.end(), Sum()); std::cout << "after: "; for (auto n : nums) { std::cout << n << " "; } std::cout << '\n'; std::cout << "sum: " << s.sum << '\n'; }
Résultat :
before: 3 4 2 9 15 267 after: 4 5 3 10 16 268 sum: 306
[modifier] Voir aussi
applique une fonction à une série d'éléments Original: applies a function to a range of elements The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction générique) | |
de gamme pour la boucle | exécute une boucle sur (depuis C++11) gamme
Original: executes loop over range (depuis C++11) The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |