C++26 est officiellement finalisé : la plus grosse mise à jour du langage depuis C++11
Le comité ISO C++ vient de boucler C++26 lors de sa réunion de Londres samedi dernier.
Et selon Herb Sutter, président de la Standard C++ Foundation et ancien président du comité ISO C++, c'est tout simplement la release la plus convaincante depuis C++11 (rien que ça !).
Comment sort une nouvelle version de C++ ?
Avant de plonger dans les nouveautés, un petit détour utile. Parce que C++ n'est pas un simple framework shipé sur GitHub avec un npm publish et un changelog, mais un standard international ISO, piloté par un comité appelé WG21 qui rassemble des centaines d'experts dans plus de 20 pays.
Depuis C++11, la version qui a modernisé le langage en profondeur en 2011, le langage suit un cycle d'évolution de trois ans. Les fonctionnalités qui sont prêtes à temps intègrent le standard, les autres patientent pour la version suivante (eh ouais, faut pas louper le train).
Concrètement, le comité se réunit trois fois par an pour discuter et voter des propositions. À un moment donné, les fonctionnalités sont “gelées" (pour C++26, c'était en juin 2025). Les pays membres envoient ensuite leurs commentaires via leurs organismes nationaux de normalisation, le comité les traite, et le document final part en vote international pour devenir un standard ISO.

C++26 en est là : les 411 commentaires nationaux ont été résolus à Londres (environ 210 participants sur une semaine, dont 130 sur place), le Draft International Standard va partir en vote d'approbation, et la publication officielle devrait suivre dans l'année.
L'opérateur oreilles de chat
La star de C++26, c'est la réflexion (reflection), considérée comme la plus grosse avancée pour le développement C++ depuis l'invention des templates.
Concrètement, la réflexion permet d'inspecter vos types (leurs champs, leurs fonctions) au moment de la compilation. Vous voulez générer automatiquement la sérialisation JSON de vos structs sans écrire des lignes de boilerplate ? C'est exactement ça. Même chose pour du logging de debug, de l'ORM, ou encore convertir automatiquement vos enums en strings.

Techniquement, ça passe par un nouvel opérateur ^^ (que la communauté a en toute logique surnommé le "cat-ears operator") qui produit une valeur de type std::meta::info, et un opérateur splice [: ... :] pour retransformer cette info en véritable code C++.
Autre ajout notable : les contracts, un système de préconditions, postconditions et assertions intégré au langage pour spécifier formellement ce qu'une fonction attend et garantit.
Sécurité mémoire : C++ fait ses devoirs
C++26 apporte également des améliorations concrètes du côté de la sécurité mémoire.
Lire une variable locale non initialisée, par exemple, n'est plus un undefined behavior mais un erroneous behavior, plus gérable. La bibliothèque standard durcie ajoute de la vérification de bornes sur std::vector, std::span et std::string.
Google a déjà déployé cette bibliothèque durcie sur des centaines de millions de lignes de code en production. Le coût en performance ? 0,3% de ralentissement, pour 30% de plantages mémoire en moins sur l'ensemble de leur parc. Apple a fait de même sur les 4 millions de lignes de WebKit.
Et le pattern matching ?

Parmi les autres ajouts notables, on trouve std::execution pour la concurrence structurée, la directive #embed pour inclure des données binaires directement dans le code, ou encore les placeholder variables sans nom (auto [x, _] = pair;).
Avec C++26, le langage C++ continue d'évoluer, même si l'écosystème traîne encore quelques boulets (les modules C++20 restent quasi inutilisés, et la gestion des paquets est toujours aussi pénible).
Bien que demandé par la communauté depuis des années, le pattern matching (la possibilité d'inspecter et déconstruire des valeurs directement, comme le font déjà Rust ou Kotlin) n'a pas eu son billet pour ce train. Rendez-vous en 2029, mon reuf !
À propos de l'auteur
Nicolas Lecointre
Chief Happiness Officer des développeurs, ceinture noire de sudo. Pour rire, j'ai créé Les Joies du Code. J'utilise Vim depuis 10 ans parce que je sais pas comment le quitter.
À lire également
Ma phobie administrative a enfin trouvé son fix, et il s’appelle Abby
Je DÉTESTE, je HAIS l'administratif. Voilà, c'est dit, et ça me semble être une belle entrée en matière pour cet article. C’est assez simple, à mon niveau, tout ce qui...
Articles similaires
Java 26 : Oracle enterre les applets et embarque JavaScript et Python dans la JVM
TypeScript 6.0 est sorti : la dernière version en JavaScript avant le grand saut vers Go
Des neurones humains cultivés en laboratoire jouent à DOOM (oui, vraiment.)
Java 26 : Oracle enterre les applets et embarque JavaScript et Python dans la JVM
TypeScript 6.0 est sorti : la dernière version en JavaScript avant le grand saut vers Go
Des neurones humains cultivés en laboratoire jouent à DOOM (oui, vraiment.)
TypeScript devient le langage le plus utilisé sur GitHub
Plus de contenu
Quand mon script shell fonctionne parfaitement sauf sur un seul serveur
Quand la prod tient depuis des mois et tombe pile le soir de mon astreinte
Quand je retourne sur du code que j'ai écrit il y a 2 ans
Quand j'ai réussi à écrire ma regex du premier coup
Quand j’installe une bibliothèque énorme juste pour deux fonctions basiques
Quand je fais le malin pendant ma démo
Quand je dois remettre les mains dans du code que j'ai écrit il y a plus d'un mois
Quand c'est le daily du lundi et que je sais plus où j'en suis pour une user story
Quand mon script shell fonctionne parfaitement sauf sur un seul serveur
Quand la prod tient depuis des mois et tombe pile le soir de mon astreinte
Quand je retourne sur du code que j'ai écrit il y a 2 ans
Quand j'ai réussi à écrire ma regex du premier coup
Quand j’installe une bibliothèque énorme juste pour deux fonctions basiques