7 points par xguru 2021-04-08 | 2 commentaires | Partager sur WhatsApp
  • Concepts

  • Modules

  • Coroutines

  • Comparaison à trois voies

  • Expressions lambda

  • Expressions constantes

  • Agrégats

  • Paramètres de template non typés

  • Liaisons structurées

  • Boucle for basé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

 
ffdd270 2021-04-08

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...

 
xguru 2021-04-08

Pour les principales fonctionnalités comme Concepts / Contracts / Ranges / Module, Coroutines, etc., veuillez consulter C++20 Key Features Summary [présentation en coréen]