Die wichtigsten Funktionen von C++20 – mit Beispielen zusammengefasst
(oleksandrkvl.github.io)-
Concepts
-
Module
-
Coroutines
-
Drei-Wege-Vergleich
-
Lambda-Ausdrücke
-
Konstante Ausdrücke
-
Aggregate
-
Nicht-Typ-Template-Parameter
-
Strukturierte Bindungen
-
Bereichsbasierte
for-Schleife -
Attribute: [[likely]], [[unlikely]], [[no_unique_address]], [[nodiscard]]
-
Zeichenkodierung:
char8_t -
Syntaktischer Zucker
-
constinit -
Vorzeichenbehaftete Ganzzahlen sind Zweierkomplement
-
__VA_OPT__für variadische Makros -
Explizit per Default definierte Funktionen mit unterschiedlichen Exception-Spezifikationen
-
Destroying
operator delete -
Bedingt
explicite Konstruktoren -
Feature-Test-Makros
-
Array-Konvertierungen von bekannter zu unbekannter Bound
-
Implizites Move für mehr lokale Objekte und Rvalue-Referenzen
-
Konvertierung von
T*zuboolist Narrowing -
Einige Verwendungen von
volatilewerden als veraltet markiert -
Der Komma-Operator in Subskripten wird als veraltet markiert
2 Kommentare
C++11, 14, 17, 20 … sie erscheinen wirklich beständig alle drei Jahre. Ich hoffe vor allem, dass sich das diesmal eingeführte Modulsystem breit durchsetzt und den Stress mit dem Linken deutlich reduziert …
Für die wichtigsten Funktionen wie Concepts / Contracts / Ranges / Module und Coroutines siehe C++20 Key Features Summary [Präsentationsunterlagen auf Koreanisch]