C++ Templates - die richtige Dosis (kompakt)

Seminardetails


  • Datum: 2020 in planning
  • Dauer: 09:00 - 17:00
  • Ort:
  • Sprache: DE
  • Referent: Andreas Fertig
  • Fruehbucher:
  • Preis:

Überblick

Nahezu alle C++ Programmierer und Programmiererinnen nutzten Templates, häufig indirekt durch Verwenden der STL (Standard Template Library). Obwohl Templates bereits sehr früh Teil von \cpp waren gibt es immer noch Vorbehalte und Missverständnisse. Im Seminar wird gezeigt, dass Templates gerade im Bereich eingebettete Systeme durchaus ein Gewinn sein können.


Richtig verwendet sind Templates ein sehr hilfreiches Werkzeug, welches C++ Nutzende kennen sollte.

 

Inhalt

In diesem Seminar lernen die Teilnehmenden den Umgang und die Kontrolle von C++ Templates. Zum Einsatz kommen moderne Standards bis hin zu C++17. Immer beachtet werden Aspekte wie resultierende Code-Größe, Kompatibilität und Lesbarkeit.

 

Teilnehmende lernen, wie sich mit Templates Fehler bereits zur Compile-Zeit erkennen lassen und unerwünschte Konvertierungen unterbunden werden. Im weiteren Verlauf wird auf die Verwendung im Bereich eingebettete Systeme eingegangen um beispielsweise mit Templates Speicher statisch zu allozieren.

 

Die mit C++11 eingeführten variadischen Templates werden erklärt. Diese sind spezielle für Softwareentwicklung im MISRA-Umfeld interessant, da sie deterministisch eine variable Anzahl von Argumenten entgegennehmen können.

Thematisiert wird auch, wie es mit constexpr möglich ist einigen Code nicht nur zur Compile-Zeit zu instantiieren, sondern auch direkt dort zu evaluieren und nur das Ergebnis im resultierenden Binary zu haben.

 

Nach dem Seminar wissen Teilnehmende wie Templates in der Praxis sicher und sinnvoll angewendet werden können. Sie sind sich der Auswirkungen bewusst und kontrollieren diese.

 

Zielgruppe/Voraussetzung:

Entwicklerinnen und Entwickler von C++ basierten Systemen. Gute Kenntnisse der Sprache C++ sind vorausgesetzt. Elemente aus C++11 und neuer werden eingeführt.

 

 

Die Themen in Stichworten:

 

  • Template-Arten (Klassen-, Funktions-, Variablen-Templates)
  • Template-Spezialisierungen
  • SFINAE
  • Template-Parameterarten
  • Templates: Missverständnisse wie Code-Bloat erklärt
  • Variadische Templates
  • Fold Expressions
  • constexpr und constexpr if
  • Type Traits
  • Class Template Argument Deduction (CTAD)
  • Templates: Die richtige Dosis an Beispielen

 

Format

Interaktive Vorlesung. Die Teilnehmer sind herzlich eingeladen, während des Seminars mit dem Kursmaterial zu experimentieren.

Andreas Fertig
Andreas Fertig
Andreas Fertig studierte Informatik in Karlsruhe. Bereits seit seinem Studium befasst er sich mit eingebetteten Systemen und den damit einher gehenden Anforderungen und Besonderheiten.



Kontakt


Telefon
+49 (0)711 138183-0

E-Mail
seminare@qa-systems.de

AGB für Seminare
Start
Trial
QA-Systems