Schulung - Programmieren mit C++20
source link: https://andreasfertig.info/de/schulungen/programmieren-mit-cpp20/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
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
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
Buchen
Informiert bleiben
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK