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
#include
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);
}