Überblick und Zusammenfassungen:
C++20 ist der nächste große C++-Standard nach C++11. Wie C++11 verändert auch C++20 die Art und Weise, wie wir modernes C++ programmieren. Diese Veränderung ist insbesondere auf die großen Vier von C++20 zurückzuführen: Concepts, Ranges, Module und Coroutinen.
Der Workshop wird die großen Vier in C++20 kompakt vorstellen.
1) Concepts verändern die Art und Weise, wie wir Templates denken und programmieren. Sie sind semantische Kategorien für die Template-Parameter. Mit ihnen können Sie Ihre Absicht direkt im Typsystem ausdrücken. Wenn etwas schief geht, erhalten Sie eine klare Fehlermeldung.
2) Die neue Ranges-Bibliothek ermöglicht es, Algorithmen direkt auf dem Container auszuführen, Algorithmen zu kombinieren und auf unendliche Datenströme anzuwenden.
3) Module überwinden die Einschränkungen von Header-Dateien. Durch sie wird die Trennung von Header- und Quelldateien ebenso obsolet wie der Präprozessor. Am Ende haben wir eine schnellere Bauzeit und eine einfachere Art, Pakete zu bauen.
4) Dank Coroutinen wird die asynchrone Programmierung in C++ zum Mainstream. Coroutinen sind die Basis für kooperative Tasks, Ereignisschleifen, unendliche Datenströme oder auch Pipelines.
Art der Vermittlung:
Vortrag mit vielen Beispielen
Nutzen:
Der Workshop hat zwei Ziele: Er soll die großen Vier (Concepte, Ranges, Coroutinen und Module) in C++20 kompakt vorstellen und einen Überblick zu den weiteren wichtigen Featuren in C++20 geben.