Traductions de cette page?:

accumulate

Syntaxe:

    #include <numeric>
    T accumulate( iterator debut, iterator fin, T val );
    T accumulate( iterator debut, iterator fin, T val, BinaryFunction f );

La fonction accumulate calcule la somme de val avec tous les éléments compris dans la séquence délimitée par [debut, fin).

Si une fonction binaire (BinaryFunction) f est fournie, c'est elle qui est utilisée à la place de l'opérateur + pour calculer la somme.

La fonction accumulate est de complexité linéaire.

Par exemple, le code suivant utilise accumulate pour calculer une somme d'entiers contenus dans un vecteur :

#include <iostream>
using std::cout;
#include <vector>
using std::vector;
#include <numeric>
using std::accumulate;
 
int main() {
  vector<int> v;
  const int START = 1, END = 10;
  for( int i = START; i <= END; ++i ) v.push_back(i);
 
  int sum = accumulate( v.begin(), v.end(), 0 );
 
  cout << "La somme de " << START << " à " << END << " est " << sum << '\n';
}

Articles connexes : adjacent_difference, count, inner_product, partial_sum