Namensräume
Varianten
Aktionen

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

Von cppreference.com
< cpp‎ | utility‎ | functional‎ | function
 
 
Dienstprogramm-Bibliotheken
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
Variadische Funktionen
Coroutine-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 Hilfsmittel
Relationale Operatoren (in C++20 veraltet)
 
Funktionsobjekte
Funktionsaufruf
(C++17)(C++23)
Identitätsfunktions-Objekt
(C++20)
Transparente Operator-Wrapper
(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 Adaptoren
(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.

Inhalt

[bearbeiten] Parameter

(keine)

[bearbeiten] Rückgabewert

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

[bearbeiten] Beispiel

#include <functional>
#include <iostream>
 
int f(int a) { return -a; }
void g(double) {}
int main()
{
    // fn1 and fn2 have the same type, but their targets do not
    std::function<int(int)> fn1(f),
                            fn2([](int a) {return -a;});
    std::cout << fn1.target_type().name() << '\n'
              << fn2.target_type().name() << '\n';
 
    // since C++17 deduction guides (CTAD) can avail
    std::cout << std::function{g}.target_type().name() << '\n';
}

Mögliche Ausgabe

PFiiE
Z4mainEUliE_
PFvdE

[bearbeiten] Siehe auch

gibt einen Zeiger auf das gespeicherte Ziel zurück
(public member function) [bearbeiten]
enthält Informationen über bestimmte Typen, die Klasse, die vom typeid-Operator zurückgegeben wird
(Klasse) [bearbeiten]
typeid fragt Informationen über einen Typ ab und gibt ein std::type_info-Objekt zurück, das den Typ repräsentiert
(Operator)