Aller au contenu

Préférences et cookies

Afin d’améliorer votre expérience sur notre site et de réaliser des statistiques de visites, nous utilisons des cookies. Rien n’est déposé sans votre accord, et le refus n’enlève l’accès à aucun contenu. Ce choix peut être modifié à tout moment.

Gérer les traceursVos données

Personnaliser

ArticleApplications & Développement

C++ 23 va accélèrer sur le support des modules

La 23ème itération du langage C++ va améliorer le support des modules, en commençant par la bibliothèque standard. Ces derniers promettent d'améliorer à la fois la vitesse de compilation et la façon dont les développeurs C++ organisent le code.

La rédaction

La prochaine version du langage de programmation C++, la 23ème du nom, doit être finalisée en 2023. Elle s’accompagnera de certaines évolutions comme une meilleure prise en charge de la bibliothèque standard et d’une compilation plus rapide. Cette actualisation va inclure un module de bibliothèque standard, appelé std, et une certaine prise en charge des coroutines, a déclaré le concepteur du langage, Bjarne Stroustrup. Ainsi, le module de la bibliothèque standard pour « Hello World » devient :

import std :

int main()

{

Std::cout<< "Hello, World!\n" ;

}

Cette approche compilera 10 fois plus que l’ancienne version utilisant #include, a déclaré Bjarne Stroustrup.

Les modules améliorent non seulement la vitesse de compilation et l'hygiène du code, mais aussi unifient l'organisation des sources des fonctions ordinaires et des modèles, a noté Bjarne Stroustrup. La distinction .h/.cpp disparaît et le code source C++ est fondamentalement simplifié. « À terme, les modules constitueront l'amélioration la plus significative jamais apportée à la manière dont nous organisons notre code », a-t-il déclaré.

Un travail perturbé par la pandémie

C++ 23, qui est en cours de développement sous l'égide de l'ISO (Organisation internationale de normalisation), comportera de nombreuses améliorations mineures, dont certaines ne sembleront pas si mineures, a déclaré M. Stroustrup. Il a fait remarquer qu'il ne s'agissait pas d'une mise à niveau majeure de C++ comme l'ont été C++ 11 et C++ 20 (qui avait justement intégré les modules). Il s'agissait plutôt de compléter C++ 20 et, avec un peu de chance, d'apporter quelques fonctionnalités importantes.

Cependant, la pandémie a imposé une limite aux ambitions. « Il a été difficile de tenir de bonnes discussions sur la conception de manière virtuelle, et beaucoup de gens pensent que le manque de contact en face à face a été un grand handicap », a déclaré Bjarne Stroustrup. En conséquence, des fonctionnalités telles que le filtrage, les contrats et un modèle général pour la concurrence (exécuteurs) devront attendre C++ 26.

Newsletter

La Quotidienne LMI

Recevez chaque matin l’actualité IT de la rédaction.

C++ 23 va accélèrer sur le support des modules