Ich versuche zu lernen, wie lamba Funktionen zu nutzen, und wie etwas zu tun:Lambda-Funktion in accumulate
Bei einem Vektor = {1,2,3,4,5}
I will die Summe der paarweisen Summen = (1 + 2) + (2 + 3) + ...
Unten ist mein Versuch, der nicht richtig funktioniert.
#include <vector>
#include <algorithm>
using namespace std;
vector <double> data = {1,10,100};
double mean = accumulate(data.begin(),data.end(),0.0);
double foo()
{
auto bar = accumulate(data.begin(),data.end(),0.0,[&](int k, int l){return (k+l);});
return bar
}
Ich versuchte, die return-Anweisung zu ändern zurückzukehren (data.at (k) + data.at (l)), die recht funktioniert nicht.
Hah, ich bin ein theoretischer Physiker, ich habe nicht die elegante Lösung in Ihrem ersten Absatz! Dann gibt es in der Tat keine Notwendigkeit für _fancy lambda_. Unterstützt auch Demos und schreibt immer noch eine Lösung mit Lambda, die ich wahrscheinlich jetzt nicht brauche, aber es ist lehrreich! – storluffarn