Developpez.com - Rubrique C++

Le Club des Développeurs et IT Pro

La norme C++17 approuvée à l'unanimité par le comité

Seules quelques modifications typographiques doivent encore être effectuées avant la publication

Le 2017-09-07 13:03:40, par dourouc05, Responsable Qt & Livres
Même si la finalisation technique date de mars de cette année, C++17 n'est pas au bout de ses peines avant de devenir une norme ISO. Le dernier vote formel du comité vient d'avoir lieu, la norme C++17 vient d'être approuvée à l'unanimité, moyennant vingt-sept commentaires éditoriaux mais aucun commentaire technique.

La prochaine étape est la publication de la norme par l'ISO. Avant, quelques étapes doivent encore se passer :

  • jusqu'en novembre, la prise en compte des commentaires éditoriaux et correction d'autres erreurs typographiques ;
  • début novembre, la réunion à Albuquerque devra entériner ces dernières modifications de forme ;
  • peu après, l'ISO publie la norme ainsi finalisée. Sauf contretemps majeur, elle portera le doux nom de ISO/IEC 14882:2017.


Depuis mars, cependant, il n'y a plus une seule modification technique à la norme (voir ici pour les détails). Tous les efforts se portent sur C++20, qui devrait apporter la notion de concept (enfin !).

Source : C++17 is formally approved.
  Discussion forum
46 commentaires
  • _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.
  • 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.