Namespaces
Variants

std::function<R(Args...)>::target_type

Von de.cppreference.net
 
 
Dienstprogrammbibliothek
Sprachunterstützung
Typunterstützung (grundlegende Typen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
Variadische Funktionen
Koroutinen-Unterstützung (C++20)
Vertragsunterstützung (C++26)
Drei-Wege-Vergleich
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Allgemeine Dienstprogramme
Relationale Operatoren (veraltet in C++20)
Ganzzahl-Vergleichsfunktionen
(C++20)(C++20)(C++20)    
(C++20)
Tausch und Typoperationen
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Allgemeine Vokabular-Typen
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
Funktionsobjekte
Funktionsaufruf
(C++17)(C++23)
Identitätsfunktionsobjekt
(C++20)
Transparente Operatorwrapper
(C++14)
(C++14)
(C++14)
(C++14)  
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)

Alte Binder und Adapter
(bis C++17*)
(bis C++17*)
(bis C++17*)
(bis C++17*)
(bis C++17*)(bis C++17*)(bis C++17*)(bis C++17*)
(bis C++20*)
(bis C++20*)
(bis C++17*)(bis C++17*)
(bis C++17*)(bis C++17*)

(bis C++17*)
(bis C++17*)(bis C++17*)(bis C++17*)(bis C++17*)
(bis C++20*)
(bis C++20*)
 
 
const std::type_info& target_type() const noexcept;
(seit C++11)

Gibt den Typ der gespeicherten Funktion zurück.

Parameter

(keine)

Rückgabewert

typeid ( T ) falls die gespeicherte Funktion den Typ T hat, andernfalls typeid ( void )

Beispiel

#include <functional>
#include <iostream>
int f(int a) { return -a; }
void g(double) {}
int main()
{
    // fn1 und fn2 haben denselben Typ, aber ihre Ziele nicht
    std::function<int(int)> fn1(f),
                            fn2([](int a) {return -a;});
    std::cout << fn1.target_type().name() << '\n'
              << fn2.target_type().name() << '\n';
    // seit C++17 können Ableitungsleitfäden (CTAD) verwendet werden
    std::cout << std::function{g}.target_type().name() << '\n';
}

Mögliche Ausgabe:

PFiiE
Z4mainEUliE_
PFvdE

Siehe auch

erhält einen Zeiger auf das gespeicherte Ziel
(öffentliche Elementfunktion)
enthält Typinformationen, die Klasse, die vom typeid-Operator zurückgegeben wird
(Klasse)
typeid fragt Typinformationen ab und gibt ein std::type_info Objekt zurück, das den Typ repräsentiert
(Operator)