Microsoft annonce la conformité de MSVC à la norme C++
Avec une implémentation complète de presque toutes les fonctionnalités de C++11 à C++17

Le , par Michael Guilloux, Chroniqueur Actualités
Avec Visual Studio 15.5, Microsoft avait déjà implémenté environ 75 % des fonctionnalités C++17, mais c'était il y a cinq mois. Alors que Microsoft vient d'annoncer la sortie de la septième mise à jour mineure de Visual Studio 2017 (version 15.7), le géant du logiciel explique que le compilateur C++ MSVC est désormais (presque) entièrement conforme à la norme C++. Et cela inclut non seulement C++17, mais également C++11 et C++14.

« Avec Visual Studio 2017 version 15.7, nous proposons une implémentation complète de presque toutes les fonctionnalités de la norme C++, y compris toutes les versions jusqu'à C++ 17. Les fonctionnalités restantes ont été implémentées (et seront livrées bientôt) ou sont en train d'être implémentées aujourd'hui », explique Microsoft dans un billet de blog. Et de préciser que « cela inclut la finalisation de certaines des fonctionnalités les plus difficiles sur lesquelles [la société] a travaillé depuis C++ 11/14 : recherche de noms en deux phases, expression SFINAE, constexpr étendues et extensions de pack. »

Dans cette version notamment, l'implémentation MSVC de la bibliothèque standard a acquis de nouvelles fonctionnalités majeures, à savoir les algorithmes parallèles, filesystem, constexpr pour char_traits, les fonctions mathématiques spéciales et la prise en charge de la déduction d’arguments de modèle de classe. Microsoft travaille également sur l'implémentation de nombreuses spécifications techniques de C++. Il s'agit de spécifications en cours de développement et qui devraient être intégrées à la norme. Ci-dessous l'état de la conformité de MSVC à la norme C++ :


Il faut toutefois noter qu'il y a des bogues dans certaines fonctionnalités que Microsoft travaille à corriger actuellement. Si vous voulez tester les nouvelles fonctionnalités C++17 implémentées, vous devez télécharger Visual Studio 2017 version 15.7 et avoir en tête que vous devrez souvent utiliser le mode de conformité /permissive- ainsi que le commutateur /std:c++17 ou /std:c++latest selon le cas.

Source : Blog Visual C++

Et vous ?

Qu'en pensez-vous ?
Avez-vous déjà commencé à tester les fonctionnalités C++17 implémentées dans VS 15.7 depuis les préversions ?

Voir aussi :

Microsoft annonce la disponibilité de Visual Studio 2017 version 15.7 : un tour d'horizon des nouveautés de l'EDI
Microsoft annonce un gestionnaire de bibliothèques C++ unique pour Linux, macOS et Windows : Vcpkg est maintenant disponible sur tous les OS
Évolution de C++ : petite revue des fonctionnalités existantes du langage qui ont été supprimées de C++ 17 et celles qui ont été ajoutées
Clang est maintenant utilisé pour compiler Chrome pour Windows, Google abandonne donc Visual C++ et en voici les raisons


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Matthieu76 Matthieu76 - Membre averti https://www.developpez.com
le 09/05/2018 à 10:08
Je trouve quand même cela bizarre que toutes les fonctionnalités de C++11 ne soit toujours pas toutes implémentées 7 ans après !
Avatar de archqt archqt - Membre habitué https://www.developpez.com
le 09/05/2018 à 11:48
Citation Envoyé par Matthieu76 Voir le message
Je trouve quand même cela bizarre que toutes les fonctionnalités de C++11 ne soit toujours pas toutes implémentées 7 ans après !
Avant que la norme ne "tombe" ils avaient les "drafts" et certains éléments allaient rentrer dans la norme donc sur le fait, ils ont eux plus que 7 années pour le faire. J'ai pas regardé mais est ce que les autres compilateurs gcc/clang implémentent toute la norme ? je suppose que OUI, sachant que Microsoft a toujours eu la réputation d'avoir du retard.
MAIS ils semblerait que depuis quelques années ils se disent que cela vaudrait le coup de ne pas être en retard, voire de participer à des projets OpenSource
Avatar de Médinoc Médinoc - Expert éminent sénior https://www.developpez.com
le 09/05/2018 à 11:59
Citation Envoyé par Matthieu76 Voir le message
Je trouve quand même cela bizarre que toutes les fonctionnalités de C++11 ne soit toujours pas toutes implémentées 7 ans après !
Il leur a bien fallu 15 ans pour C99 (mais ça c'était un choix conscient de s'asseoir dessus)...
Avatar de Matthieu76 Matthieu76 - Membre averti https://www.developpez.com
le 09/05/2018 à 12:03
Après il faut relativiser, de mon côté j'ai un très gros projet et il compile aussi bien sous MSVC que sous MinGW, je pense que je n'utiliserai probablement jamais la plupart des fonctionnalités qu'ils ont mit du temps à implémenter. Et puis si implémenter une petite fonctionnalité que quasiment personne n'utilise rallonge le temps de compilation de 10% je pourrais comprends qu'ils y soient un peu réticent.

Pour ma part je n'ai rien vu qui pourrait m'être fondamentalement utile dans C++17.
Contacter le responsable de la rubrique Accueil