Programmierung – C++20 und C++23 in der Praxis (inkl. Ausblick auf C++26) IT 7120

Seminarziel

Dieses Seminar vermittelt einen praxisorientierten Überblick über die wichtigsten Neuerungen der Programmiersprache C++20 und C++23. Im Fokus stehen moderne Sprachfeatures wie Coroutinen und Concepts sowie neue Bibliotheksfunktionen wie Ranges, std::format und Synchronisationsmechanismen. Anhand praxisnaher Beispiele und Übungen lernen die Teilnehmenden, wie sich Code lesbarer, sicherer und ausdrucksstärker gestalten lässt. Ziel ist es, die neuen Möglichkeiten nicht nur kennenzulernen, sondern sie effektiv im Arbeitsalltag einzusetzen.

Seminarinhalt

Programmierung - C++20 und C++23 in der Praxis (inkl. Ausblick auf C++26)

Ranges
Motivation: Algorithmen, Iteratoren und lesbarer Code

  • Einführung in C++20 Ranges
  • Views und Pipelines mit std::views
  • Lazy Evaluation und Komposition

Concepts
Motivation: bessere Fehlermeldungen und klare Schnittstellen

  • Constraints und Concepts
  • Standard-Concepts (std::integral, std::same_as, std::ranges::range)
  • Eigene Concepts mit requires

Modules

  • Einführung in C++20 Modules
  • Module Interfaces und export

Weitere Sprachfeatures in C++ 20

  • Spaceship Operator (<=>)
  • std::format für moderne Textformatierung
  • Synchronisation: Latches, Barriers, Semaphores

Coroutinen

  • Grundlagen asynchroner Programmierung
  • Einführung in C++20 Coroutinen
  • Einsatz von Boost.Asio als Event Loop und Scheduler
  • Von Callbacks zu co_await
  • Generatoren mit co_yield (C++23)

Neuerungen in C++23

  • Mehrdimensionale Subscript-Operatoren
  • std::expected (Ergebnis- oder Fehlerbehandlung)
  • Monadic Operations für std::optional und std::expected
  • Vereinfachte formatierte Ausgabe

Weitere Features in C++23

  • std::to_underlying
  • std::flat_map und std::flat_set

Ausblick auf C++26

  • Überblick über kommende Entwicklungen

Zielgruppe

  • Softwareentwickler:innen mit C++-Erfahrung
  • Systementwickler:innen
  • Entwickler:innen im Bereich Embedded Systems oder High-Performance Computing
  • Alle, die ihre C++-Kenntnisse auf den neuesten Stand bringen möchten

Voraussetzungen

Gute Kenntnisse in C++ (mindestens C++11/14) und Erfahrung im Umgang mit Templates und Standardbibliothekwerden vorausgesetzt.

Anfrage zu diesem Seminar.

Seminaranfrage

Seminar buchen oder Infos anfordern