Am�liorations du compilateur VC++ pour les normes C++11, C++14, C99
15 nouvelles fonctionnalit�s support�es par le compilateur
Alors qu'ils sont en retard par rapport � leurs concurrents que sont GCC et Clang, la derni�re version de VC++ apporte le support de plusieurs fonctionnalit�s sur les deux langages C et C++.
Au menu du C++ :
- le mot cl� explicit qui permet d'�viter les conversions implicites non d�sir�es ;
- les cha�nes de caract�res lit�rales brutes ;
- les arguments par d�faut pour les fonction templates ;
- les constructeurs d�l�gu�s ;
- l'initialisation uniforme avec les accolades {} ;
- l'initialisation lors de la d�claration des attributs membres non statiques ;
- les sp�cifications = default et = delete ;
- les alias via using ;
- les variadics templates ;
- bonus C++14 � pour une fois qu'ils sont en avance saluons-les ! � les foncteurs en diamant.
Pour le C99 � ce qui soul�ve tout de m�me un petit sourire en coin quand on sait que le langage C en est � sa norme C11 � on est tout de m�me ravi de voir enfin des fonctionnalit�s qui nous semblent d�sormais faire partie des bases m�me du C :
- la d�claration des variables dans les blocs, ce qui permet de ne plus �tre forc� de les d�clarer au d�but de la fonction ;
- le type _Bool et sa macro bool dont il n'est plus utile de rappeler l'utilit� tant elle est commune ;
- les litt�raux compos�s qui permettent d'initialiser une structure avec une s�rie d'attributs entre accolades ;
- les initialisateurs nomm�s qui permettent d'initialiser des attributs particuliers d'une structure en sp�cifiant leurs noms (n'existe pas en C++):
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10 struct C { int attr_a; int attr_b; int attr_c; }; struct C my_c = {.attr_a = 33, .attr_c = 26};//attr_b = 0 int array[][2] = {[0][0] = 1, [1][1] = 1};//2x2, autres valeurs à 0
Source : ISO C++ Additions in Visual C++
Et vous,
Utilisez-vous VC++ ?
Pensez-vous qu'il va pouvoir rattraper ses concurrents pour C++14 ?
Pensez-vous qu'il s'agisse d'un bon compilateur pour d�velopper en C ?
Partager