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 !

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

Le , par Michael Guilloux

270PARTAGES

20  0 
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 ?

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