Typ-Definition für "type_t" in der StdBibliothek



  • Guten Tag,

    Eine einfache Frage:
    Warum ist es sinnvoll einen Typ zu definieren der lediglich auf einen Grundtyp verweist?

    Beispiel:
    time.h (Standardbibliothek) nutzt "time_t", welches in der Datei types.h lediglich ein Alias für "long int" ist.

    Der Sinn ist mir bisher nicht ersichtlich und eine Suche hat sich als nicht zielführend erwiesen ;-).
    Vielen Dank.



  • Portierbarkeit.

    Möglicherweise will man die Software auf verschiedenen Plattformen kompilieren. Unter Umständen haben dort grundlegende Datentypen andere Größen. Durch diesen Umweg muss man also nichts am eigentlichen Quellcode ändern.



  • Weil time_t ein im Standard festgelegter Datentyp ist und dich die konkrete Implementierung des jeweiligen Compilerbauers nichts angeht.
    Der Standard legt für dich eine Programmierschnittstelle fest, gegen die du implementierst; der Standard legt nicht fest, wie die Schnittstelle zu implementieren ist, auf anderen Plattformen/Compilern kann die konkrete Implementierung von time_t anders ausfallen und dann hättest du mit deinem Code verloren, was nicht im Sinne eines Standards ist, der Plattformunabhängigkeit gewährleistet.


Anmelden zum Antworten