Call for Papers

C++: Typsicher durch Templates ( Vortrag )

Fehler zur Compile-Zeit finden und Tippfehler reduzieren

Referent: Andreas Fertig, Philips Medizin Systeme Böblingen
Vortragsreihe: Implementierung I
Zeit: 04.12.18 10:35-11:15

Zielgruppe

Entwicklung

Themenbereiche

Implementierung, Wartung, Pflege, Support, Sichere Software, Echtzeit/RTOS

Schwerpunkt

Methode

Voraussetzungen

Grundlagenwissen

Kurzfassung

Templates existieren in C++ bereits seit einiger Zeit. Mit dem C++11 Standard-Update wurden sie noch besser, es gibt nun variadische Template-Argumente. Einige Leute argumentieren, dass dies das wichtigste neue Feature in C++11 ist. Templates sind eine gute Möglichkeit, den Compiler Code für Sie erstellen zu lassen. Da Templates zur Kompilierzeit ausgewertet werden, sind sie auch perfekt für eine frühestmögliche Fehlererkennung. Sie können robusteren Code mit ihnen schreiben. Mit Templates können Sie Berechnungen bereits zur Kompilierzeit durchzuführen. Zusammen mit constexpr sind sie ein sehr leistungsfähiges Werkzeug, das jeder in seiner Werkzeugkiste haben sollte. Ich zeige Ihnen verschiedene Beispiele und Anwendungsbereiche für Templates, die zu besserem Code führen. Besser bedeutet entweder besser lesbar, besser wartbar oder Fehlerekennung so früh wie möglich. All das unter Berücksichtigung von Geschwindigkeit und Code-Größe.

Gliederung

Motivation
Definition: Typsicher
Anwendungsbeispiele:
- constexpr if
- variadische Templates
- Code-Bloat vermeiden

Nutzen und Besonderheiten

TeilnehmerInnen erhalten einen Überblick wie sich Templates effizient nutzen lassen. Sie können einige Alltagsaufgaben in Zukunft mittels Templates typsicher und effizient lösen.

Über den Referenten

Andreas Fertig studierte Informatik in Karlsruhe. Bereits seit seinem Studium befasst er sich mit eingebetteten Systemen und den damit einher gehenden Anforderungen und Besonderheiten. Seit 2010 ist er für die Philips Medizin Systeme als Softwareentwickler mit dem Schwerpunkt eingebettete Systeme tätig. Er verfügt über fundierte Kenntnisse von C++. Freiberuflich arbeitet er als Dozent und Trainer. Zudem entwickelt er Mac OS X Anwendungen und ist der Autor von cppinsights.io.