Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Normalisation C++ Discussion :

C++17 est maintenant officialisé


Sujet :

Normalisation C++

  1. #41
    Responsable Qt & Livres

    La norme C++17 approuvée à l'unanimité par le comité
    La norme C++17 approuvée à l'unanimité par le comité
    seules quelques modifications typographiques doivent encore être effectuées avant la publication

    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.
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions), HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  2. #42
    Membre averti
    Cool, il ne manque plus qu'à ajouter la reflection à C++20 et c'est presque parfait.

  3. #43
    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é.

  4. #44
    Expert éminent sénior
    C'est toujours les contrats que j'attends avec impatience.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  5. #45
    Rédacteur/Modérateur

    Citation Envoyé par dourouc05 Voir le message
    [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.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  6. #46
    Rédacteur/Modérateur

    Citation Envoyé par GilbertLatranche Voir le message
    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).
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  7. #47
    Chroniqueur Actualités

    C++17 est maintenant officialisé
    C++17 est maintenant officialisé
    la norme a été publiée sur le site de l'Organisation internationale de normalisation (ISO)

    C++ est un langage de programmation à usage général basé sur le langage de programmation C. Outre les fonctionnalités fournies par le standard C, C++ fournit des types de données, des classes, des templates, des exceptions, des espaces de noms, la surcharge d'opérateurs, des références et des fonctions de bibliothèque supplémentaires, entre autres ajouts au langage C.

    C++ est l'un des langages de programmation les plus populaires, avec une grande variété de plateformes matérielles et de systèmes d'exploitation. Le langage C++ est normalisé par l'ISO depuis 1998 avec C++98. Trois mises à jour ont ensuite été publiées en 2003, 2011 et 2014. La dernière, C++17, a été finalisée en mars dernier avant d'être approuvée à l'unanimité par le comité au mois de septembre. Après avoir franchi toutes les étapes, C++17 est maintenant officialisé ; la norme venant d’être publiée sur le site de l'Organisation internationale de normalisation (ISO).

    C ++ 17 introduit un certain nombre de nouvelles fonctionnalités de langages. En plus du nouveau type std::byte, il vient avec l’ajout du support des caractères littéraux au format Unicode 8 bits, les variables inline, les expressions de réductions (fold expressions), les liaisons structurées (Structured Bindings), une interface pour les systèmes de fichiers, la parallélisation des algorithmes de la STL, les lambdas constexpr, etc. Il supprime aussi l'opérateur ++ pour les booléens, les trigraphs, le mot clé register, std::auto_ptr et std::random_shuffle. Une liste plus exhaustive des changements peut être trouvée ici.

    Du côté des compilateurs, GCC et LLVM/Clang offrent déjà un support complet de C++17, et avec l'officialisation de la norme, le compilateur Clang a été mis à jour pour reconnaitre C++1z en tant que C++17. C++17 est une mise à jour importante du langage de programmation C++. Alors qu'il n'est officialisé que maintenant, les discussions sur son successeur C++20 ont déjà commencé. D'ailleurs dans la prochaine version majeure de GCC attendue début 2018 (GCC 8.1), les développeurs de la collection de compilateurs du projet GNU se préparent pour l'arrivée de C++ 20 / C++2A. En juillet dernier, un patch publié par un développeur GCC a par exemple ajouté un support pour spécifier la nouvelle norme C++ via -std=c++2a pour le travail C++ 20 provisoire et -std=gnu++2a pour C++20 plus les extensions GNU.

    Sources : Phoronix, ISO.org

    Et vous ?

    Qu'en pensez-vous ?
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités