Fantom Tag

Schulung - Moderne Softwareentwicklung mit C++17 und C++20

Mit den neuen Sprachfeatures von C++17 und C++20 effizient entwickeln - Konzepte, Module, Coroutines und mehr

  • Live Online oder Präsenz
TERMIN UND ORT NACH ABSPRACHE
Dauer
2 Tage (14 Stunden)


Referenz
8133
On-demand Training
Sind Sie an diesem Thema interessiert?
Unsere Experten entwickeln Ihr individuell angepasstes Seminar!

Die Programmiersprache C++ entwickelt sich kontinuierlich weiter und mit den Standards C++17 und C++20 stehen Entwicklerinnen und Entwicklern leistungsfähige neue Sprachmerkmale zur Verfügung, die moderne Softwareentwicklung deutlich effizienter machen. 

In diesem zweitägigen Seminar lernen Sie die zentralen Neuerungen in C++17 und C++20 kennen - von strukturierten Bindings und Fold Expressions über Module und Coroutines bis hin zu erweiterten STL-Komponenten wie Ranges, std::variant oder Parallelalgorithmen. 

Sie erwerben fundiertes Wissen, um moderne C++-Features sicher anzuwenden und bestehende Projekte gezielt weiterzuentwickeln. Ob als Präsenzseminar oder als Live Online Training - dieses Seminar vermittelt Ihnen moderne C++17- und C++20-Konzepte für eine effiziente und robuste Softwareentwicklung.

Zielgruppe

Wer sollte teilnehmen:

Zielgruppe

  • Dieses Seminar richtet sich an C++-Programmierer:innen sowie an Entwickler:innen, die bereits Erfahrung mit anderen objektorientierten Programmiersprachen wie Java oder C# haben.
  • Besonders geeignet für Fachkräfte, die ihre Kenntnisse in moderner Softwareentwicklung mit den neuesten C++-Standards vertiefen möchten.

Voraussetzungen

Für die Teilnahme an diesem Seminar benötigen Sie solide Kenntnisse in der C++-Programmierung, insbesondere in den Grundlagen von C++11/C++14, der objektorientierten Programmierung und dem Umgang mit Standardbibliothek und Templates.
Programm

Trainingsprogramm

Neue Eigenschaften der Sprache

  • structured bindings
  • init statements for if / switch
  • Inline variables
  • constexpr if
  • fold expressions
  • Automatic type definition from template arguments
  • C++20 : Modules
  • C++20 : Coroutines

 Neue Eigenschaften der Templateprogrammierung

  • Constexpr_if,
  • Fold expressions
  • Template instantiation with type deduction
  • C++20 : Concepts

 Neue Eigenschaften der STL

  • New data types std::any, std::variant, std::optional
  • Parallel algorithms
  • String views
  • Filesystem
  • C++20 : Ranges
Pädagogik

Pädagogik

Unsere Trainer:innen erläutern Ihnen die Konzepte in kurzen Vorträgen, gefolgt von Diskussionen und zahlreichen praktischen Übungen am System, in denen Sie die neuen C++-Features direkt im Code anwenden.

Hinweis

Hinweis

Weiterführende Informationen: Eine Auswahl vertiefender Inhalte und praxisorientierter Beiträge zum Thema Programmiersprachen findet sich im Programmiersprachen-Blog.

Häufig gestellte Fragen (FAQ)

Häufig gestellte Fragen (FAQ)

Worin unterscheidet sich dieses Seminar von einem allgemeinen C++-Grundlagenseminar?
In einem C++-Grundlagenseminar stehen Syntax, Basiskonzepte der Sprache, einfache Klassen, Zeiger, Referenzen und Grundlagen der Standardbibliothek im Vordergrund.
Dieses Seminar setzt genau dort auf und konzentriert sich auf moderne Sprachfeatures aus C++17 und C++20, neue Bibliothekskomponenten und Best Practices für zeitgemäßen C++-Code. Es geht darum, vorhandenes Wissen zu aktualisieren, nicht um den Einstieg in C++.

Für wen ist dieses Seminar besonders geeignet?
Das Seminar richtet sich an erfahrene C++-Entwickler:innen, die bereits produktiv mit C++11/C++14 arbeiten und nun gezielt die Neuerungen von C++17 und C++20 in ihren Projekten einsetzen möchten - etwa in Embedded-, System- oder Anwendungsentwicklung.

Welche C++-Vorkenntnisse sollte ich mitbringen?
Sie sollten sicher im Umgang mit Klassen, Vererbung, Templates, Ausnahmebehandlung und der Standardbibliothek sein. Erste Erfahrungen mit C++11/C++14 (z. B. auto, Range-based for, Smart Pointer, Move-Semantik) sind sehr hilfreich. Wenn Sie sich in C++ noch unsicher fühlen, empfiehlt sich vorab ein Aufbauseminar oder eine Wiederholung der Grundlagen.

Wird auch der Umgang mit Legacy-Code thematisiert?
Ja, im Seminar wird darauf eingegangen, wie sich bestehender C++-Code schrittweise auf moderne Sprach- und Bibliotheksfeatures umstellen lässt. 

Welche Themen aus C++17 und C++20 stehen im Vordergrund?
Schwerpunkte sind u. a.:

  • moderne Sprachfeatures wie if constexpr, strukturierte Bindungen, Fold-Expressions
  • Class Template Argument Deduction (CTAD)
  • neue Standardtypen wie std::optional, std::variant, std::any
  • Verbesserungen im Bereich Concurrency und Synchronisation
  • ausgewählte C++20-Erweiterungen (je nach Seminarfokus, z. B. Ranges, Concepts)
Der genaue Schwerpunkt kann an den Bedarf der Teilnehmer:innen angepasst werden.

Mit welcher Entwicklungsumgebung wird im Seminar gearbeitet?
Es wird mit einer gängigen C++-IDE und einer aktuellen Toolchain gearbeitet, z. B. Visual Studio, CLion oder einer Kombination aus Editor und CMake/Compiler. Die konkret eingesetzte Umgebung wird vorab festgelegt. Wichtig ist, dass der verwendete Compiler C++17 (und möglichst C++20) unterstützt. Hinweise zur Vorbereitung erhalten Sie rechtzeitig vor Seminarbeginn.

Wird auch auf Performance-Aspekte eingegangen?
Ja, neben Lesbarkeit und Wartbarkeit werden auch Auswirkungen moderner C++-Features auf Performance und Ressourcenverbrauch angesprochen. Anhand von Beispielen wird diskutiert, wann bestimmte Konstrukte Vorteile bringen und welche Trade-offs Sie im Hinblick auf Effizienz, Sicherheit und Komplexität berücksichtigen sollten.

Kann ich eigene Code-Beispiele mitbringen?
Ja, eigene Beispiele sind willkommen. Wenn es der zeitliche Rahmen zulässt und sich der Code für die gemeinsame Betrachtung eignet, können Ausschnitte aus Ihren Projekten im Plenum analysiert und mögliche Modernisierungsansätze diskutiert werden. Bitte achten Sie hierbei auf Vertraulichkeit und anonymisieren Sie sensible Teile.

Welche weiterführenden Seminare bieten sich nach diesem Seminar an?
Als nächster Schritt empfehlen sich z. B. Seminare zu spezifischen C++-Themen wie fortgeschrittene Template-Metaprogrammierung, C++-Performance-Tuning, Multithreading/Concurrency oder Softwarearchitektur mit C++. Je nach Einsatzbereich können auch Trainings zu Embedded-C++, Echtzeit-Systemen oder Testautomatisierung sinnvoll sein, um das erworbene Wissen gezielt zu vertiefen.

Schulung - Moderne Softwareentwicklung mit C++17 und C++20