Session animée par Herb Sutter
La session commence par l’annonce qu’une roadmap est prévue pour que VC++ devienne conforme a la norme ISO. Enfin Herb Sutter met entre guillemet le mot « conforme » 😉
On apprend ensuite que les fonctionnalités de C++ 14 ont été définies il y a à peine deux mois.
S’ensuit un rappel de l’historique de C++.
Herb Sutter annonce ensuite que Microsoft veux se conformer à la fois à C++ 11 et C++ 14.
Annonce qu’à chaque prochaine version de Visual Studio (RTM et CPT) on aura l’arrivée de nouvelles fonctionnalités de VC++.
Dans VC++ 2013 Preview on a :
- Explicit conversion operators
- Raw strings loterals
- Function template default arguments
- Delegating constructors
- Unifor, initialization and initliazer_lists
- Variadic templates
- Compilation plus rapide
- Support de la STL y compris vector<int>{1, 2, 3, 4}
- …
Nouvelles fonctionnalités :
- Initialisation des membres non statiques.
- = default permet d’éviter d’écrire une fonction par défaut (exemple constructeur)
- = delete permet de supprimer une définition d’une fonction (voir explication dans la vidéo pour mieux comprendre)
- Aliases permet d’éviter les arguments d’un templates à l’utilisation
- Ajout de quelques fonctionnalités de C99 afin de pouvoir utiliser des librairies C comme FFMPEG
Fonctionnalités en chantier
- __func_ (par le même qu’en C), extended sizeof
- Implicit move generation
- Ref-qualifiers: & et && pour *this
- Lambda return type deduction
- Function return type deduction
- Capture généralisée des lambda
- Generic lambdas
On peut ensuite voir un tableau complet des fonctionnalités prévues dans C++ 14 et VC++ 14.
Et on a une emphase particulière sur l’implémentation de async/await dans C++ avec un exemple très amusant sur le code illisible qu’il faut écrire dans certains cas en C++ avec la manière actuelle de faire de faire de l’asynchrone (C++ promises).
Annonce de la prochaine conférence GoingNative à Redmond entre le 4 et le 6 septembre 2013.
Une session intéressante mais qui va nécessiter quelques approfondissements pour comprendre toutes les nouvelles fonctionnalités.
John Thiriet