iX 12/2020
S. 139
Praxis
C++-Tricks

Das fehlende Konstrukt always_false

Nützlicher als gedacht

Andreas Fertig

Reichen die Bestandteile einer Sprache nicht aus, um Code­probleme zu lösen, greifen Entwickler auf Hilfskonstrukte zurück. Mit dem Helfer always_false lassen sich kritische Stellen im Code umschiffen.

Das Hilfskonstrukt always_false erstellt einen typabhängigen Ausdruck, wie er bei Templates benötigt wird. Wie der Name sagt, liefert always_false immer false zurück. Ein solches Konstrukt ist in einigen Situationen bei einem static_assert erforderlich. Dieser Artikel zeigt verschiedene Situationen und mögliche Implementierungen von always_false.

Templates sind ein mächtiges Werkzeug in C++. Aber nicht selten verursachen sie lange, schwer verständliche Fehlermeldungen des Compilers. Ein solcher Fall tritt in Listing 1 auf.

Kommentieren