Prüfe, ob (primitive) Typen in C ++ umsetzbar sind

9

Ist es möglich zu überprüfen (in C ++), ob Typen (implizit oder explizit) gießbar sind? Gibt es etwas in std oder ist es möglich, eine Funktion wie in C # zu schreiben ( C # gleiche Frage )?

Ich möchte diese Überprüfung auf Typen durchführen, nicht auf Instanzen des Typs.

Ich bin mir nicht sicher über das Typsystem in C ++. Gibt es so etwas wie die Klasse Type in C # oder Java? typeid(int) war der nächste, den ich gefunden habe. Kann ich einen Typ in einer Variablen speichern? Nähere Lesetipps werden geschätzt.

Bei Beispiel:

%Vor%     
GiCo 20.05.2014, 14:13
quelle

2 Antworten

3

In C ++ 11 können Sie std::is_convertible ( Referenz ) verwenden. Dies prüft, ob eine implizite Konvertierung möglich ist. Es wird nicht berücksichtigt, ob die Konvertierung verlustreich wäre.

Beispiel:

%Vor%     
Danvil 21.05.2014, 10:37
quelle
1

Auf diese Weise:

%Vor%     
Pavel Celba 04.04.2017 11:22
quelle

Tags und Links