Les principales fonctionnalités qui ont été complètement implémentées dans le compilateur Visual C++ incluent :
- les liaisons structurées avec une prise en charge dans le débogueur VS ;
- les lambdas constexpr ;
- if constexpr dans des modèles de fonction ;
- les variables inline ;
- les expressions de réductions (« fold expressions ») ;
- l'ajout de noexcept au système de types ;
- etc.
Toutes ces fonctionnalités peuvent être activées en utilisant l'option /std:c++17. Certaines ont été ajoutées dans VS 15.3 et finalisées dans VS 15.5. Il faut également noter que Microsoft a activé le mode de conformité /permissive- par défaut avec les nouveaux projets créés dans Visual C++, ce qui vous permet d'écrire du code beaucoup plus conforme aux normes C++. Ce mode désactive les constructions C++ non conformes qui existent dans MSVC depuis des années.
Parmi les changements notables dans l'implémentation de la bibliothèque standard, on note les variables inline pour la STL, la suppression de operator++ pour bool, la suppression du mot clé register déconseillé, la suppression des spécifications d'exception dynamique, la suppression du support d'allocateur dans std::function et les dépréciations de shared_ptr::unique() et <codecvt>, entre autres.
En outre, Microsoft a réalisé des progrès significatifs dans la correction des problèmes de conformité les plus anciens, y compris la fonctionnalité SFINAE pour les expressions et la majorité des cas de recherche de noms en deux phases. En ce qui concerne les spécifications techniques actuelles, il a aussi été apporté des changements de syntaxe, comme demandé par le Comité des normes C++.
En raison du nombre d'améliorations de conformité et de corrections de bogues inclus dans le toolset MSVC livré avec VS2017 version 15.5, le numéro de version passe de 14.11 à 14.12. Cette incrémentation de version mineure indique que le toolset MSVC dans VS2017 est compatible avec celui de VS2015, ce qui permet donc une mise à niveau plus facile pour les utilisateurs VS2015.
Source : Blog Visual C++
Et vous ?
Qu’en pensez-vous ?
Voir aussi :
La version 15.5 de Visual Studio 2017 améliore le chargement des solutions C# et VB, qui est désormais deux fois plus rapide qu'avant
Microsoft propose une compilation des fonctionnalités de C++ 17 dans la préversion Visual C++ 2017 version 15.3 et indique celles qui sont à venir