namespace cpp

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:lib:apply

apply()

#include <tuple>

Result apply (Func f, std::tuple<Types...> t) // C++17

Beschreibung: Ruft f als Funktion mit den Elementen eines Tupels als Argumenten auf.

Parameter

f Funktion oder Funktionsobjekt
t Tupel von Funktionsargumenten

An Stelle eines Tupels kann ein anderes Objekt eingestzt werden, auf das get<Index>(t) und std::tuple_size(t) anwendbar ist, also auch std::pair<U,V> auch array<T,N>.

Ergebnis

Rückgabewert: Ergebnis des Funktionsaufrufs f(…).

Siehe auch

Beispiel

apply.cpp
#include <array>
#include <tuple>
#include <iostream>
 
int main()
{
    auto f = [](int a, int b) { return a+b; };
 
    auto args1 = std::tuple{1,2};
    auto args2 = std::pair{3,4};
    auto args3 = std::array<int,2>{5,6};
 
    std::cout << std::apply(f, args1) << '\n'; // f(1,2)
    std::cout << std::apply(f, args2) << '\n'; // f(3,4)
    std::cout << std::apply(f, args3) << '\n'; // f(5,6)
}
kennen/lib/apply.txt · Zuletzt geändert: 2017-01-15 15:33 (Externe Bearbeitung)