Das fehlende Konstrukt always_false
Nützlicher als gedacht
Reichen die Bestandteile einer Sprache nicht aus, um Codeprobleme 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.