1 pièce(s) jointe(s)
Améliorations du compilateur VC++ pour les normes C++11, C++14, C99
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++ :
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:
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,
:fleche: Utilisez-vous VC++ ?
:fleche: Pensez-vous qu'il va pouvoir rattraper ses concurrents pour C++14 ?
:fleche: Pensez-vous qu'il s'agisse d'un bon compilateur pour développer en C ?