Developpez.com

Le Club des Développeurs et IT Pro

De C++14 à C++17, qu'est-ce qui a changé avec la nouvelle version du langage C++ :

Un document de la Standard C++ Foundation

Le 2017-04-04 13:05:43, par Michael Guilloux, Chroniqueur Actualités
Comme nous l’avons annoncé il y a quelques jours, la spécification de la nouvelle version du langage C++ (C++17) est désormais finalisée, attendant l'approbation à la norme ISO. Si la publication du prochain standard pour le langage C++ sera faite plus tard cette année, on connait déjà les changements qui ont été opérés par rapport à C++14, le standard actuel.

La Standard C++ Foundation, une organisation chargée de la promotion de standards C++, a donc publié un document qui énumère tous les changements importants introduits depuis la publication de C++14. Le document présente entre autres les fonctionnalités supprimées ou obsolètes, les nouvelles fonctionnalités de base du langage, les nouvelles bibliothèques et les modifications aux fonctionnalités existantes.

Changements officiels de C++14 à C++17

Votre opinion

Pensez-vous que le C++ moderne va dans la bonne direction ou pas ?
Quelle version de C++ utilisez-vous actuellement pour vos développements ?
  Discussion forum
46 commentaires
  • Du 15 au 20 mai a eu lieu la BoostCon intitulée « C++Now 2017 » dans laquelle on peut citer :


    C++Now 2017: “C++17 Features” par Bryce Lelbach

    qui présente de nombreuses nouveautés du langage et de la bibliothèque standard introduites par la norme C++17, ainsi que :


    C++Now 2017: “(Ab)using C++17” par Jason Turner

    qui montre des exemples d'application.

    Retrouvez :

    toutes les autres présentations sur la chaîne YouTube BoostCon ;
    les slides rattachés sur GitHub ;
    la chaîne YouTube de Jason Turner qui publie chaque semaine une courte présentation d'une fonctionnalité (nouvelle ou méconnue) du C++.
  • JolyLoic
    Rédacteur/Modérateur
    Une autre présentation, plus orientée exemples : https://github.com/tvaneerd/cpp17_in.../ALL_IN_ONE.md
  • _Bérenger_
    Membre régulier
    Mouais. Il manque aussi les modules de toute urgence. Je ne sais pas trop où en sont les implémentations de Clang et VS depuis ces deux dernières années, mais il n'y a pas beaucoup de nouvelles. J'ai lu des messages qui rapportaient une accélération de la compilation de 40%... Ce n'est pas négligeable mais c'est loin des x10 dont on avait entendu parlé.
  • Luc Hermitte
    Expert éminent sénior
    C'est toujours les contrats que j'attends avec impatience.
  • JolyLoic
    Rédacteur/Modérateur
    Envoyé par GilbertLatranche
    Cool, il ne manque plus qu'à ajouter la reflection à C++20 et c'est presque parfait.
    C'est en train d'avancer, assez rapidement même, mais c'est un tellement gros sujet qu'il ne faut pas trop espérer avoir ça en C++20...

    Le plan est de fournir une API permettant une réflexion à la compilation (une version plus orientée run-time est aussi nécessaire, mais semble moins prioritaire, et surtout il semble qu'elle puisse s'appuyer sur la version compile-time). Sauf que qui dit réflexion à la compilation dit métaprogrammation pour traiter les infos récupérées ainsi que générer du code à partir de ça. Donc un énorme prérequis à la réflexion en tant que telle...

    Quelques papiers intéressants à ce sujet :
    - http://www.open-std.org/jtc1/sc22/wg...17/p0633r0.pdf (lors de la réunion de Toronto, il y a eu un très fort consensus pour aller vers des "Homogeneous value syntax" manipulées par des fonctions constexpr. Pour la partie génération de code, tout est moins clair pour l'instant.
    - http://www.open-std.org/jtc1/sc22/wg...7/p0578r1.html
    - http://www.open-std.org/jtc1/sc22/wg...17/p0385r2.pdf (c'est un assez gros document, mais j'ai particulièrement aimé la partie 5 qui montre comment ces fonctionnalités pourraient être mises en œuvre en pratique).
  • GilbertLatranche
    Membre averti
    Cool, il ne manque plus qu'à ajouter la reflection à C++20 et c'est presque parfait.
  • Abou Dabo
    Candidat au Club
    Vraiment ces cool.
    D'avoir ajouter certaines fonctionnalités sur ce Langage à Haute Gamme pour les développeurs.
  • JolyLoic
    Rédacteur/Modérateur
    Envoyé par dourouc05 
    [B][*]début novembre, la réunion à Albuquerque devra entériner ces dernières modifications de forme ;

    En fait, même pas, comme c'est juste éditorial même pas besoin d'approuver quoi que ce soit, ce sera publié en direct dès que les corrections auront été appliquées.