Schulung - Programmieren mit C++20


Sie verwenden bereits C++11 oder neuer und möchten Ihr Wissen mit all den großartigen neuen Elementen von C++20 erweitern? Dann nehmen Sie an diesem Kurs teil!

Beschreibung

Nächste offene Schulung: 27. - 29. September 2021
Jetzt buchen

Sie lernen eine der größten Revolutionen von C++20 kennen, Concepts. Diese machen Templates weniger beängstigend und geben Ihnen gleichzeitig eine genauere Kontrolle über die Schnittstellen Ihrer Templates. Sie lernen, wie Concepts funktionieren und wie Sie Ihr eigenes Konzept erstellen. Weiter geht es mit einem Blick auf eine neue Form des Schreibens von Funktions-Templates fortgesetzt: abgekürzte Funktions-Templates. Am Ende erfahren Sie, wie Concepts Fehlermeldungen verbessern.

Ihre nächste Station sind Coroutinen. Diese sind eine toll neue Möglichkeit, asynchronen Code zu schreiben und den schwierigen Teil dem Compiler zu überlassen. Diese Funktion kann Ihre Zustandsmaschinen erheblich reduzieren. Sie lernen zu überdenken, wie Funktionsaufrufe funktionieren und wie reguläre Funktionen mit Coroutinen verglichen werden. Danach machen Sie sich mit dem low-level-Teil der Coroutines API von C++20 vertraut. Anschließend lernen Sie, wie Sie dieses Wissen verwenden, um mithilfe einer Coroutine einen Byte-Stream-Parser zu erstellen.

Während Sie zu diesem Zeitpunkt zwei große Sprachaktualisierungen gesehen haben, erfahren Sie jetzt mehr über die Verbesserungen der STL: ranges. Sie erfahren auch mehr über die Verbesserungen, die Ihnen ranges bieten, z. B. die unbeabsichtigte Verwendung eines temporären Objekts, welches nicht mehr gültig ist.

Auf ranges folgen die neuen Möglichkeiten zum Formatieren eines Strings mit std::format. Sie erfahren, wie std::format die besten Teile von iostreams und snprintf kombiniert. Ein Teil dieses Lernens besteht darin, std::format zusammen mit einem benutzerdefinierten Buffer zu verwenden.

Anschließend erfahren Sie, wie einfach Vergleiche in C++20 sein können und wie viel weniger Code Sie schreiben müssen, um eine einfache Klasse zu erstellen, die alle sechs Vergleichsoperationen unterstützt. Der Anfang ist eine Zusammenfassung dessen, was Sie vor C++20 tun mussten, gefolgt davon, wie Ihr Code jetzt mit dem Raumschiff-Operator und einer neuen Compiler-Fähigkeit, die Operator-Rewrites aufruft, auf wenige Codezeilen reduziert wird. Anschließend erfahren Sie, in welchen Situationen das Aktualisieren von C ++ 17-Code zu unerwarteten Problemen führen kann.

Sie haben angefangen, einen großen Teil der Verbesserungen an Templates mit Konzepten kennenzulernen, aber es gibt noch mehr. Es ist an der Zeit, sich mit den neuen Typen vertraut zu machen, die Sie als Nicht-Typ-Template-Parameter verwenden können.

Natürlich lernen Sie auch kleinere Elemente wie starts_with für std::string oder std::source_location kennen, um die Notwendigkeit von Makros weiter zu beseitigen.

Jede Version seit C++11 hat die Möglichkeiten von constexpr verbessert. C++20 ist keine Ausnahme. Neben den neuen Dingen, die Sie im constexpr-Kontext tun können, lernen Sie auch zwei neue Elemente der constexpr-Familie kennen: consteval und constinit. Am Ende können Sie alle drei Schlüsselwörter in ein Bild setzen und festlegen, welches davon wann am besten verwendet wird.

Nach dem Seminar haben Sie ein klares Verständnis dafür, was C++20 für Sie bringt. Sie können bewusst Funktionen aus dem neuen Sprachstandard für ein Projekt auswählen und sicher verwenden.

Agenda

  • Concepts
  • Coroutines
  • Ranges
  • Modules
  • std::format
  • spaceship-operator
  • Template Neuerungen
    • Klassen als nicht-Typ Template-Parameter
    • Mehr CTAD
  • Lambda Erweiterungen
  • Mehr constexpr
    • Speicher zur Compile-Zeit alloziieren;
    • Funktionen garantiert zur Compile-Zeit ausführen;
    • Variablen zur Compile-Zeit initialisieren und später modifizieren.

Im Kurs enthalten ist

  • Das Handout als farbiges PDF. Es enthält alle Verweise und einen List der Akronyme;
  • Der Quell-Code für die Übungen inklusive Musterlösungen als zip-Datei;
  • Teilnahmebescheinigung;
  • Eine kostenlose Kopie eines meiner Bücher

Nächste offene Schulung: 27. - 29. September 2021
Jetzt buchen

Buchen

September 27 - September 29, 09:00 - 17:00 GMT+0200

Informiert bleiben

Diese Felder sind erforderlich.