namespace cpp

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:lib:invoke

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 (Externe Bearbeitung)