#include
<numeric>
T accumulate (In first, In last, T startwert) T accumulate (In first, In last, T startwert, Binary op)
Bildet die Summe von startwert
mit allen Werten x des Bereiches [first, last)
startwert + x1 + x2 + x3 + ... ---> Ergebnis
bzw. führt eine "verallgemeinerte Summation" mit einem zweistelligen Funktor durch.
x1 x2 x3 | | | v v v startwert -> op -> op -> op -> ... ---> Ergebnis
first | Anfang des Bereiches |
last | Ende des Bereiches |
startwert | Anfangswert der Berechnung |
op | zweistelliges Funktionsobjekt |
Rückgabewert: Summe bzw. "verallgemeinerte Summe",
bei leerem Bereich der startwert
.
#include <numeric> #include <functional> #include <iostream> int main() { double arr[] = { 1, 2, 3, 4, 5 }; std::cout << "Summe = " << std::accumulate(arr, arr+5, 0.0) << '\n'; std::cout << "Produkt = " << std::accumulate(arr, arr+5, 1.0, std::multiplies<double>()) << '\n'; }