Modernes C++ programmieren

Okt 23, 2024

lst-0615-godb.cpp

//#(compile) c++; compiler:g132; options:-O3 -std=c++23; libs:-
// https://godbolt.org/z/WbnThTs8e 
#include <functional> // function
#include <iostream>   // cout
int berechne(int a, int b, std::function<int(int,int)> binop) {
    return binop(a,b);
}
int plus(int a, int b) { return a+b; }
int mal(int a, int b) { return a*b; }
int main() {
    std::cout << berechne(3, 4, plus) << "\n";  // Wert-Schreibweise
    std::cout << berechne(3, 4, mal) << "\n";   // Wert-Schreibweise
    std::cout << berechne(3, 4, &plus) << "\n"; // Zeiger-Schreibweise
    std::cout << berechne(3, 4, &mal) << "\n";  // Zeiger-Schreibweise
}