Lambda Expressions in c++
In diesem Beitrag zeige ich ein kleines Beispiel, wie man die Lambda Expressions in c++ nutzen kann. Lambdas werden in der funktionalen Programmierung eingesetzt, können aber auch in anderen Programmierparadigmen verwendet werden. Dadurch kann man zum Beispiel eine Funktion als Parameter an eine anderen Funktion übergeben. Man kann Lambdas auch als eine "kurzschreibweise" einer normalen Funktionsdefinition sehen.
#include <iostream>
#include <vector>
auto print = []<typename T>(T result) -> void {std::cout << result << '\n';};
auto insertNumbers = []<typename T>(std::vector<T> *list, T value) -> void {list->push_back(value);};
auto sumUp = []<typename T>(const std::vector<T> *list) -> T {
T sum = 0;
for(T elem : *list){
sum += elem;
}
return sum;
};
int main(){
std::vector<int> numbers = std::vector<int>();
for(int n = 0; n < 10; n++){
insertNumbers(&numbers, n+1);
}
int sum = sumUp(&numbers);
print(sum);
}
0
0
0.000
Ich kenne Lambdas momentan auch eher als Kurzschreibweise von Funktionen in Python.
Dort bin ich aktuell grad beim Regex Thema.
Mit regulären Ausdrücken kann man schön spielen. Ist ein mächtiges Werkzeug.
ja, da hast du recht. Derzeit muss ich mir aber erst mal die Basis aneignen.
Manchmal unterscheiden sich die Angaben von der Realität.
Dann erzählt mir der Chatbot, der + Quantifier(heißt das so?) ist greedy/gierig und sucht die Buchstabenreihenfolge hintennach ("o") bis zum Ende des Strings. Interessanter Effekt, wenn man einen längeren Text einlesen lässt. (entsprechend bis zum letzten o)
!LOL
!invest_vote
!BEER
lolztoken.com
You'll strain your voice.
Credit: reddit
@ozelot47, I sent you an $LOLZ on behalf of dotwin1981
(8/10)
Farm LOLZ tokens when you Delegate Hive or Hive Tokens.
Click to delegate: 10 - 20 - 50 - 100 HP
@dotwin1981 denkt du hast ein Vote durch @investinthefutur verdient!
@dotwin1981 thinks you have earned a vote of @investinthefutur !