Typ einer Variablen vom integrierten Datentyp bestimmen



  • Gibt es eine Möglichkeit, den Datentyp einer Variablen vom interierten Datentyp plattformunabhänig zu bestimmen?

    Ich will damit solche Abfragen durchführen (sinngemäß):

    if(type(var) == int)
    ...
    


  • omg, typeid() kann das ja doch!
    Hmm, aber wie kann ich jetzt einen beliebigen Typ an eine Funktion übergeben, die mir dann z.b. typeid(var).name() zurückgibt. Wie übergebe ich der Funktion var?



  • #include <typeinfo>
    #include <stdio.h>
    
    int main (void) 
    {
      int x;
    
      if (typeid(x) == typeid(int))
      {
        puts ("int");
      }
    
      if (typeid(x) == typeid(char))
      {
        puts ("char");
      }
    }
    


  • undefiniert schrieb:

    Hmm, aber wie kann ich jetzt einen beliebigen Typ an eine Funktion übergeben, die mir dann z.b. typeid(var).name() zurückgibt. Wie übergebe ich der Funktion var?

    template <typename T>
    string get_type_name(T var) {
        return typeid(var).name();
    }
    

    Aber wozu brauchst Du sowas?! Du *weißt* doch, wenn Du den Code schreibst, welchen Typ die Variablen haben.


Anmelden zum Antworten