Cela fait maintenant plusieurs années que chaque nouvelle version de Visual Studio apporte son lot de nouveautés pour le C++, le rapprochant de plus en plus de la norme et présentant des innovations, notamment dans les domaines du parallélisme et du GPGPU. Avec Visual C++ 2015, les développeurs ont-il respecté la feuille de route ambitieuse qu'ils s'étaient fixée ? Dans cette session, nous vous proposons d'embarquer à bord de notre caravelle Visual C++ 2015, à la découverte du C++ moderne. Au cours de ce voyage dans des territoires inconnus, parfois hostiles d'apparence, nous serons votre guide pour vous aider à découvrir les trésors de ce nouveau monde que Visual C++ nous permet d'atteindre. Au programme, nous franchirons le détroit de la sémantique de déplacement et du noexcept, ferons escale par les littéraux définis par l'utilisateur, passerons au large du constexpr, nous attarderons sur les lambdas polymorphiques, et après un détour par la gestion des appareils mobiles, nous négocierons les récifs de la programmation asynchrone. Notre objectif ne sera pas de parcourir la totalité de ce vaste territoire, mais bien de nous attarder sur les points les plus importants, et de vous montrer non seulement comment ils fonctionnent, mais surtout ce qu'ils peuvent vous apporter. Une fois arrivés à bon port, ce sera à nous tous, développeurs C++, de nous approprier ces nouveautés pour écrire du code encore plus clair, plus robuste et plus rapide.
2. Visual C++ 2015
Voyage à la découverte d'un nouveau monde
Loïc Joly
CAST (http://www.castsoftware.com/)
http://loic-joly.developpez.com/
3.
4. tech.days 2015#mstechdaysVisual C++ 2015 - Voyage à la découverte d'un nouveau monde
noexept
Rappel sur les niveaux d’exception
noexcept, génération automatique de fonctions spéciales
5. tech.days 2015#mstechdaysVisual C++ 2015 - Voyage à la découverte d'un nouveau monde
Pourquoi est-ce important ?
noexcept, génération automatique de fonctions spéciales
6. tech.days 2015#mstechdaysVisual C++ 2015 - Voyage à la découverte d'un nouveau monde
À quoi sert la seconde forme de noexcept
Où mettre noexcept
noexcept, génération automatique de fonctions spéciales
7. tech.days 2015#mstechdaysVisual C++ 2015 - Voyage à la découverte d'un nouveau monde
N’est-ce pas un peu compliqué ?
Règle des 0 : Pour la plupart des classes, on ne doit
avoir besoin de redéfinir aucune fonction spéciale
noexcept, génération automatique de fonctions spéciales
8. tech.days 2015#mstechdaysVisual C++ 2015 - Voyage à la découverte d'un nouveau monde
Règle de génération des fonctions spéciales
Un petit bogue pour l’instant
noexcept, génération automatique de fonctions spéciales
14. tech.days 2015#mstechdaysVisual C++ 2015 - Voyage à la découverte d'un nouveau monde
Lambdas génériques
Capture par expression dans les lambdas