IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Améliorations du compilateur VC++ pour les normes C++11
C++14, C99

Le , par germinolegrand

40PARTAGES

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 : Sélectionner tout
    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 ?

Une erreur dans cette actualité ? Signalez-nous-la !