C++ 20: Concepts – Ranges – Coroutinen – Module Online

Feb 14 - 18, 2022 · ,
Ein Online-Workshop für Entwickler*innen, um den neuen Standard C++20 und dessen Features zu erlernen.

Der neue Standard C++20 seht in der Tradition seiner großen Vorgänger C++98 und C++11. Mit C++20 wird sich die Art und Weise, wie modernes C++ geschrieben wird, ähnlich fundamental ändern wie mit C++11. Dies trifft vor allem auf die "Big Four" zu: die Concepts, die Ranges-Bibliothek, die Koroutinen und die Module.

Concepts sind eine Erweiterung von Templates in C++, mit denen sich semantische Kategorien für die Menge der zulässigen Datentypen definieren lassen. Dank Concepts wird das Anwenden und Definieren von Templates deutlich einfacher und ausdrucksreicher.

Die Ranges-Bibliothek erlaubt es, die Algorithmen der Standard Template Library direkt auf den Container anzuwenden, sie mit dem aus der Unix-Shell bekannten Pipe-Operator zu verknüpfen und auf unendlichen Datenströmen zu definieren.

Mit Coroutinen unterstützt C++20 die asynchrone Programmierung. Damit werden sich in C++20 kooperatives Multitasking, unendliche Datenströme, Event-Schleifen oder auch Pipelines elegant umsetzen lassen.

Module stellen eine Alternative zu Header-Dateien dar und versprechen zahlreiche Verbesserungen. Module erlauben, die Trennung von Header- und Sourcecode-Dateien aufzulösen, Präprozessor-Anweisungen zu eliminieren, bessere Kompilierungszeiten zu erzielen und leichter Pakete zu schnüren.

Die Schulung wird als Onlineschulung mit dem Videoconferencing-Tool Zoom durchgeführt. Teilnehmer*innen erhält die Schulungsunterlagen in digitaler Form einschließlich aller Übungsbeispiele und Musterlösungen sowie jeweils eines der C++-Bücher des Trainers nach Wahl.

Inhalte

Tag 1:

Concepts

  • Vorteile von Concepts
  • Einsatz von Concepts
  • Eingeschränkte und uneingeschränkte Platzhalter
  • Die C++20 Concepts kennenlernen
  • Concepts definieren

Tag 2:

Die Ranges-Bibliothek

  • Algorithmen, die direkt auf den Container agieren
  • Bedarfsauswertung und Funktionskomposition mit der Ranges Bibliothek
  • Die Concepts Ranges und Views
  • Die Views in C++20 kennenlernen

Tag 3:

Coroutinen

  • Synchrone versus asynchrone Programmierung
  • Die neuen Schlüsselworte co_return, co_yield und co_await
  • Das Coroutinen Framework verstehen
  • Einfache Coroutinen implementieren

Tag 4:

Module

  • Vorteile von Modulen
  • Module Interface Unit und Modul Implementation Unit
  • Module strukturieren (Submodule und Partitionen)
  • Interaktion von Headerdateien und Modulen

Tag 5:

(Die Schwerpunkte des letzten Tages richten sich nach den Interessen der Schulungsteilnehmer.)

Überblick zu

  • Die neue Formatierungsbibliothek
  • Der neue Datentyp std::span
  • Programmieren zur Compilezeit mit constexpr, consteval und constinit
  • Mächtigere Threads
  • Der Drei-Wege Vergleichoperator (<=>)
  • Verbesserte Lambdas

KPIs

  • Sie lernen neue Feature des C++20 Standard kennen.
  • Sie erlernen, wie C++20 die Art und Weise ändern wird, wie wir in modernem C++ programmieren.

Zielgruppe

Voraussetzung zur Teilnahme sind solide C++-Basiskenntnisse.

Der Workshop wird in deutscher Sprache durchgeführt. Die Teilnehmer benötigen einen eigenen PC mit einem C++ Compiler.

Eckdaten

Zielgruppe: Softwareentwickler*innen, Softwareingenieur*innen | Dauer 5 Tage, jeweils 9:00-13:00 | Trainer: Rainer Grimm, ModernesCpp.de | Online-Seminar

Event organizers

Are you organizing C++ 20: Concepts – Ranges – Coroutinen – Module?

Claim the event and start manage its content.

I am the organizer
Online Event
Online Event

A place to meet the most active, international community members

Social
Topics