Les principales fonctionnalités de C++20 — récapitulatif avec exemples
(oleksandrkvl.github.io)-
Concepts
-
Modules
-
Coroutines
-
Comparaison à trois voies
-
Expressions lambda
-
Expressions constantes
-
Agrégats
-
Paramètres de template non typés
-
Liaisons structurées
-
Boucle
forbasée sur les intervalles -
Attributs : [[likely]] , [[unlikely]] , [[no_unique_address]] , [[nodiscard]]
-
Encodage des caractères : char8_t
-
Sucre syntaxique
-
constinit
-
Les entiers signés sont en complément à deux
-
VA_OPT pour les macros variadiques
-
Fonctions explicitement définies par défaut avec des spécifications d’exception différentes
-
Destroying operator delete
-
Constructeurs explicit conditionnels
-
Macros de test de fonctionnalités
-
Conversions de tableaux à bornes connues vers bornes inconnues
-
Déplacement implicite pour davantage d’objets locaux et de références rvalue
-
La conversion de T* vers bool est une conversion réductrice
-
Dépréciation de certains usages de volatile
-
Dépréciation de l’opérateur virgule dans les indices
2 commentaires
C++11, 14, 17, 20... ça sort vraiment avec une belle régularité tous les 3 ans. J’espère surtout que le système de modules introduit cette fois-ci se généralisera largement et réduira énormément le stress lié au linking...
Pour les principales fonctionnalités comme Concepts / Contracts / Ranges / Module, Coroutines, etc., veuillez consulter C++20 Key Features Summary [présentation en coréen]