Programmieren mit C++20
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 …
Es wurden noch keine FAQ hinterlegt. Falls Sie Fragen haben oder Unterstützung benötigen, kontaktieren Sie unseren Kundenservice. Wir helfen gerne weiter!
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.
Es wurden noch keine FAQ hinterlegt. Falls Sie Fragen haben oder Unterstützung benötigen, kontaktieren Sie unseren Kundenservice. Wir helfen gerne weiter!
