std::function<R(Args...)>::target_type
Von de.cppreference.net
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
Diesen Code ausführen
#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) |