IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

La spécification de la nouvelle version du langage C++ (C++17) est finalisée
Quelles sont les nouveautés introduites ?

Le , par LittleWhite

60PARTAGES

22  0 
Les fonctionnalités intégrées au C++17 ont été décidées au cours du meeting à Oulu

Le comité autour du C++ s'est une nouvelle fois réuni afin de décider du contenu de la nouvelle version du langage de programmation C++.
Le comité a conclu une entente et la liste des fonctionnalités ne changera plus. Voici la liste des fonctionnalités qui intègreront C++17 :


Du côté des fonctionnalités la bibliothèque standard, les quatre points suivants ont été acceptés :


Pour rappel, il y a trois mois (lors de la réunion précédente), le comité s'était accordé pour intégrer les fonctionnalités suivantes :
  • attributs [[fallthrough]], [[nodiscard]], [[maybe_unused]] ;
  • constexpr lambdas ;
  • généralisation des boucles sur ensemble ;
  • capture de *this dans les lambdas ;
  • valeurs littérales hexadécimales pour les nombres à virgules flottantes ;

Et pour la bibliothèque standard :
  • (parts of) Library Fundamentals TS v1 ;
  • Parallelism TS v1 ;
  • File System TS v1 ;
  • fonctions mathématiques spéciales ;
  • hardware_*_interference_size ;
  • .is_always_lockfree() ;
  • clamp() ;
  • non-const .data() pour les chaînes de caractères.


Comme nous l'avions vu, les concepts ne feront pas partie du C++17. Vous pouvez voir la liste complète des fonctionnalités ici.
Évidemment, une nouvelle version du langage n'est rien si les compilateurs ne la supportent pas. On pourra donc se renseigner sur le progrès du support pour clang ici et pour libc++ ici.

Votre opinion

Avez-vous suivi les évolutions du C++17 ? Qu'est-ce qui vous intéresse le plus dans les nouvelles fonctionnalités ?
Envisagez-vous de l'intégrer dans vos projets au plus tôt ? Comment gérez-vous une transition ?

Source

Page IsoCPP sur les fonctionnalités du langage
Vous avez lu gratuitement 1 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de
https://www.developpez.com
Le 11/06/2017 à 22:09
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++.
5  0 
Avatar de JolyLoic
Rédacteur/Modérateur https://www.developpez.com
Le 05/04/2017 à 22:12
Une autre présentation, plus orientée exemples : https://github.com/tvaneerd/cpp17_in.../ALL_IN_ONE.md
4  0 
Avatar de _Bérenger_
Membre régulier https://www.developpez.com
Le 08/09/2017 à 9:22
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é.
2  0 
Avatar de Luc Hermitte
Expert éminent sénior https://www.developpez.com
Le 08/09/2017 à 12:16
C'est toujours les contrats que j'attends avec impatience.
2  0 
Avatar de JolyLoic
Rédacteur/Modérateur https://www.developpez.com
Le 08/09/2017 à 21:57
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).
2  0 
Avatar de GilbertLatranche
Membre averti https://www.developpez.com
Le 07/09/2017 à 23:12
Cool, il ne manque plus qu'à ajouter la reflection à C++20 et c'est presque parfait.
1  0 
Avatar de Abou Dabo
Candidat au Club https://www.developpez.com
Le 08/05/2017 à 11:45
Vraiment ces cool.
D'avoir ajouter certaines fonctionnalités sur ce Langage à Haute Gamme pour les développeurs.
0  0 
Avatar de JolyLoic
Rédacteur/Modérateur https://www.developpez.com
Le 08/09/2017 à 19:09
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.
0  0 
Avatar de Lcf.vs
Membre éclairé https://www.developpez.com
Le 01/04/2017 à 14:40
@LittleWhite: pas cool, de faire des poissons d'avril pareils
0  6