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

 

workshop_c++_titel

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. - 23.04.2021

Uhrzeit:

9-13 Uhr

Preis:

1.650 € zzgl. MwSt. – 10% Frühbucherrabatt!

Ihr Ansprechpartner für Fragen:

ansprechpartner-steffi-metzler

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

Rainer Grimm
trainer-foto

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

 

workshop_c++_titel

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. - 23.04.2021

Uhrzeit:

Preis:

1.650 € zzgl. MwSt. – 10% Frühbucherrabatt!

Aktuelle News und Top-Themen
aus der IT-Branche

Aktuelle News und Top-Themen
aus der IT-Branche

Unsere Schulungspartner