kennen:lib:invoke
Inhaltsverzeichnis
invoke()
#include
<functional>
Result invoke (Func&& f, Types&&... args) // C++17
Beschreibung: Ruft die Funktion mit den nachfolgenden Argumenten auf.
Parameter
f | Funktion, Funktionsobjekt oder Methodenzeiger |
args | Liste von Funktionsargumenten |
Als Methoden wird f
für das erste Objekt der Argumentliste mit den weiteren Argumenten ausgeführt:
arg1.f(arg2,…,argN)
.
Ergebnis
Rückgabewert: Ergebnis des Funktionsaufrufs f(args…).
Siehe auch
Beispiel
- invoke.cpp
#include <functional> #include <iostream> struct Demo { int next(int n) { return n + 1; }; }; int main() { auto f = [](int a, int b) { return a+b; }; std::cout << std::invoke(f, 1, 2) << '\n'; // f(1,2) Demo obj; std::cout << std::invoke(std::mem_fn(Demo::next), obj, 0) << '\n'; // obj.next(0) std::cout << std::invoke(Demo::next, obj, 0) << '\n'; // obj.next(0) }
kennen/lib/invoke.txt · Zuletzt geändert: 2017-01-15 16:14 von 127.0.0.1