C++ 20: Concepts – Ranges – Coroutinen – Module
Der neue Standard C++20 steht 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 Coroutinen 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 Features 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 Uhr | Trainer: Rainer Grimm, ModernesCpp.de | Online-Seminar
Online-Workshop, 19. - 24.04.2021
Uhrzeit:
9-13 Uhr
Preis:
1.650 € zzgl. MwSt. – 10% Frühbucherrabatt!
Ihr Ansprechpartner für Fragen:

Steffi Metzler
E-Mail: sme@golem.de
Tel. 030/6290111-77

Rainer Grimm ist seit vielen Jahren als Softwarearchitekt, Schulungsleiter und Fachbuchautor tätig. Rainer hat mehrere Buchtitel zur C++ veröffentlicht und schreibt gern regelmäßig Fachartikel zum Thema. Daneben ist er als Referent auf den relevanten Fachkonferenzen präsent.
C++ 20: Concepts – Ranges – Coroutinen – Module
Der neue Standard C++20 steht 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 Coroutinen 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 Features 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 Uhr | Trainer: Rainer Grimm, ModernesCpp.de | Online-Seminar
Online-Workshop, 19. - 24.04.2021
Uhrzeit:
Preis:
1.650 € zzgl. MwSt. – 10% Frühbucherrabatt!