Ajouter un commentaire

C++20 est terminé, C++23 est en préparation

Par:
fredericmazue

mer, 26/02/2020 - 16:20

Un an après que le Comité ISO C++ a figé les fonctionnalités de C++20, une dernière réunion de ce comité, qui s'est tenue du 10 au 15 février 2020 à Prague, a officiellement terminé le projet. Autrement dit la norme va sortir dans quelques mois. Pour l'occasion le comité aime à rappeler que C++20 est la révision la plus percutante de C ++ depuis une décennie.

Les nouveautés de C++20 sont très nombreuses. En attendant la publication de la norme, un billet du Comité sur Reddit les rappelle. 

La nouveauté la plus marquante de C++20 est peut être l'apparition des Coroutines. Une coroutine est une unité de traitement qui s'apparente à une fonction (ou routine) avec cette différence que si une sortie du corps d'une fonction met fin à l'exécution de celle-ci, la sortie de la coroutine suspend seulement le traitement qui peut ensuite reprendre, l'état du traitement à la sortie étant conservée. 

C++20 ne sera pas la dernière évolution du langage, bien loin de là, et le billet mentionné plus haut nous informe que le Comité est déjà au travail pour C++23.

Un plan de travail a été adopté pour C++23. Ce plan nous apprend que les apports principaux de la nouvelle mouture seront l'arrivée d'une librairie pour les coroutines, une librairie standard modulaire, les exécuteurs et le réseau. Mais des avancées seront également faites en ce qui concerne des fonctionnalités de réflexion et d'injection de code, la correspondance de motif et les contrats.

Le billet indique encore une feuille de route. La première réunion consacrée à C++23 se tiendra dans le courant de l'été cette année. Les fonctionnalités les plus importantes seront ensuite définies lors de 4 étapes. La dernière, en automne 2021, verra le gel des nouvelles fonctionnalités de C++23, et le langage devrait être déclaré complètement spécifié au cours du printemps 2022. Au cours de l'été 2023 se tiendra la première réunion consacrée à ... C++26.

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
  QQQ    M   M   QQQ     GGG       J 
Q Q MM MM Q Q G J
Q Q M M M Q Q G GG J
Q QQ M M Q QQ G G J J
QQQQ M M QQQQ GGG JJJ
Q Q