Templates - Datentyp erkennen
-
Hallo,
ich möchte ein Funktions-Template schreiben.
template <typename T> string getType(T& t) { // es soll der Typ als String zurückgegeben werden }Die Funktion soll den Typ als String zurückgeben. Wie stelle ich das am Besten an?
-
Wie immer bei dieser Frage: Für was brauchst du das?
-
Hallo,
ich versuche mir gerade C++ anzueignen und habe diese Aufgabe in einem Buch, die ich nicht lösen kann.
Mich interessiert halt die Lösung!
-
Guck dir mal typeid an.
-
Das ist aber eine komische Aufgabe. Bist du sicher, dass du sie richtig verstanden hast?
-
ich versuche mir gerade C++ anzueignen und habe diese Aufgabe in einem Buch, die ich nicht lösen kann.
Du kannst auch gleich die Aufgabe, das Buch oder einen anderen Verweis angeben. Dann braucht man das nicht nachfragen. Normalerweise mag ich ja solche Spiele nicht, aber: Welches ... Buch und welche ... Aufgabe?
-
Mit einer Template-Spezialisierung zb
#include <iostream> template<typename T> std::string getType(const T& t) { return "Unbekannter Typ"; } //Template-Spezialisierungen template<> std::string getType(const int&) { return "int"; } template<> std::string getType(const char&) { return "char"; } //usw. int main() { int i; std::cout << getType(i); }Einfach mal template-spiezialisierung googeln oder gleich im Buch nachgucken.