Fusionné aujourd’hui avec LLVM 17, Git reconnaît désormais-std=c++23 plutôt que simplement-std=c++2b pour le compilateur Clang maintenant que C++23 a été jugé techniquement complet.
Avec le comité ISO C++ ayant voté que la norme C++23 a atteint son état technique complet, les développeurs LLVM sont allés de l’avant et ont renommé leur cible standard C++2b en C++23. Ceci est similaire au passé où C++20 était connu sous le nom de C++2a jusqu’à ce que la mise à jour du langage soit prête et avec les normes ISO C++ antérieures.
L’utilisation de-std=c++23 plutôt que de-std=c++2b a été faite via ce commit.
La norme C++23 introduit de nouvelles fonctionnalités telles qu’une bibliothèque stacktrace basée sur le stracktrace de Boost, des plages empruntées conditionnellement, l’en-tête stdatomic.h pour l’interopérabilité avec C atomics, std::byteswap, std::expected, la prise en charge des fichiers sources UTF-8 est désormais jugée obligatoire, si consteval, attributs sur lambdas, et de nombreux autres changements. Un look pratique et la prise en charge actuelle du compilateur peuvent être trouvés via cppreference.com.
Pour aller de l’avant, a également été publié aujourd’hui un demande de commentaires pour que LLVM continue et appelle immédiatement son support C++26″C++26″sans l’appeler d’abord C+ +2c. L’espoir est que cela conduira à moins d’erreurs pendant les périodes de transition si-std=c++26 est ajouté tout de suite.