iX 10/2020
S. 150
Praxis
C++-Tricks

Generischer Code mit Type Traits

Typfacetten

Detlef Wilkening

Generischer Code ist oft nicht einfach umzusetzen, denn unterschiedliche Typeigenschaften benötigen verschiedene Implementierungen. Hier helfen die Type Traits der Standardbibliothek.

Wenn Entwickler in C++ über Traits reden, beziehen sie sich häufig auf die Type Traits der Standardbibliothek, die die grundlegenden Eigenschaften von Typen beschreiben, und ihre Anwendung bei der bedingten Kompi­lierung wie etwa std::enable_if und Constexpr-If. Auch wenn dies wichtige Themen in C++ sind, so verdecken diese Diskussionen oft, dass es noch andere Anwendungen von Traits gibt. Sie können helfen, alltägliche Probleme beim Programmieren zu lösen.

Ein Type Trait beschreibt die Eigenschaften eines Typs. Das ist wichtig bei generischem Code, der von Typeigenschaften und nicht von einem konkreten Typ abhängig ist. Die folgenden Beispiele zeigen die Entwicklung von einfachem generischen Code zu generischem Code mit Eigenschaftsnutzung.

Kommentieren