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

apply(), mem_fn().

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)
}