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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Microsoft renforce le support de C++ 11 dans Visual Studio 2012


Sujet :

C++

  1. #1
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut Microsoft renforce le support de C++ 11 dans Visual Studio 2012
    Microsoft renforce le support de C++ 11 dans Visual Studio 2012
    la mise à jour du compilateur C++ disponible


    « Le futur du C++ » : c’est le titre de la session de près d’une heure sur le langage, qui s’est déroulée en fin de semaine dernière lors de la conférence Builds, la grande messe des développeurs organisée par Microsoft.

    Présentée par Herb Sutter, président du comité de normalisation ISO C++ et platform evangelist chez Microsoft, la conférence a permis de faire le point sur les projets récents, en cours et les futures orientations du C++, aussi bien chez Microsoft que chez les autres acteurs de l’industrie.

    Pour ce qui est de Microsoft, une mise à jour du compilateur C++ pour Visual Studio 2012 a été dévoilée lors de cette conférence.

    Cette mise à jour est principalement axée sur le support des nouveautés introduites par la spécification C++ 11, qui viennent s’ajouter à celles déjà implémentées dans Visual Studio 2012. Il s’agit de : l’initialisation uniforme, les templates « variadic », la délégation des constructeurs, les opérateurs de conversion explicite et bien plus.

    Ce compilateur encore au stade de CTP (community technology preview) est la première étape d’une série de mises à jour périodiques qui seront apportées à Visual Studio 2012. Microsoft envisage de publier des fonctionnalités supplémentaires pour C++ en début 2013.

    La CTP du compilateur C++ peut être utilisée avec une édition professionnelle de Visual Studio 2012 ou plus, ainsi qu’avec la version gratuite Desktop Express. Il n’est pas conseillé d’utiliser cette CTP en environnement de production.

    Avant de boucler sa keynote, Sutter n’a pas manqué de présenter les initiatives de Microsoft, Google, Intel, IBM et les autres membres du comité C++, notamment la formation du « Standard C++ Foundation », qui fournira des ressources éducatives pour l’utilisation correcte de C++ à travers les différents compilateurs.


    Télécharger le compilateur C++

    Standard C++ Foundation

    Voir également les détails concernant le C++

    Source : La keynote de Herb Sutter
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  2. #2
    Expert éminent sénior

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 045
    Points : 11 368
    Points
    11 368
    Billets dans le blog
    10
    Par défaut
    Très bonne nouvelle ça ! Je desespérais de pouvoir un jour me servir des variadic templates dans VS
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 64
    Points : 81
    Points
    81
    Par défaut
    Moi qui viens du monde c++, j'ai fait comme beaucoup et ai basculer vers c#.

    (Alors que je préférer le C++), aujourd'hui quand je vois des news pareille, je suis un peu déçu...

    Est-ce que cela vaux le coup de réapprendre de C++ ?

  4. #4
    Membre expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Points : 3 344
    Points
    3 344
    Par défaut
    Bonne nouvelle mais bon ne pas avoir la STL mise à jour avec c'est pas le top.

    Dans tous les cas, j'ai juste tenté le CTP et visiblement il n'y a pas de régréssion.
    Il faudra tester mais j'ai l'impression qu'il y a eu aussi une amélioration des temps de compilation.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 349
    Points : 439
    Points
    439
    Par défaut
    habibdu70 : Pourquoi tu es déçu ?

  6. #6
    Membre expert

    Avatar de germinolegrand
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Octobre 2010
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2010
    Messages : 738
    Points : 3 892
    Points
    3 892
    Par défaut
    Merci d'avoir couvert la première partie du live (pas trop à sa place dans l'autre news) que j'ai trouvée très intéressante bien que je n'utilise pas VC++ justement pour son manque de support C++11...

  7. #7
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 612
    Points : 30 611
    Points
    30 611
    Par défaut
    Salut,
    Citation Envoyé par habibdu70 Voir le message
    Moi qui viens du monde c++, j'ai fait comme beaucoup et ai basculer vers c#.

    (Alors que je préférer le C++), aujourd'hui quand je vois des news pareille, je suis un peu déçu...

    Est-ce que cela vaux le coup de réapprendre de C++ ?
    Je penses que C++ a beaucoup à apporter par rapport à C# (meme si l'inverse est tout aussi vrai ).

    Ce qu'il faut comprendre, c'est que C# et C++ on des "philosophies" totalement différentes, et que cela les destine donc à des utilisations différentes.

    Donc, pour répondre à ta question, oui, cela vaut la peine de te (re)former à C++ si tu en as l'envie ou l'usage
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  8. #8
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Citation Envoyé par Hinault Romaric Voir le message
    Il s’agit de : l’initialisation uniforme, les templates « variadic », la délégation des constructeurs, les opérateurs de conversion explicite et bien plus.
    J'ai aussi noté les raw string litterals. Avec ça et les initializer lists, l'écriture en particulier des tests unitaires va être beaucoup plus simple !
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  9. #9
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    832
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 832
    Points : 2 625
    Points
    2 625
    Par défaut
    Citation Envoyé par germinolegrand Voir le message
    bien que je n'utilise pas VC++ justement pour son manque de support C++11...
    C'est pour éviter le danger du troll que je ne l'ai pas dis... Je suis par ailleurs plutôt surpris que MS ne soit pas plus à jour que ça (G++ semble avoir tout de même un plus gros morceau de la nouvelle norme implémenté).

    Cela dis, au vu des news sur windows 8, et maintenant sur le C++, on a, au moins un peu, l'impression qu'ils vont commencer à plébisciter à nouveau le C++, et ce ne serait pas un mal à mon avis, vu qu'on arrive a voir des programmes ou l'utilisation des pointeurs nus est très anecdotique (et pas mal liée aux associations optionnelle, qui ne permettent pas d'utiliser des références).
    En fait, à part le polymorphisme, je crois bien que je n'en ai plus l'utilité et je ne le regrette pas* (hum... ah, non, il reste le cas des lib à la conception historique bourrée de pointeurs nus genre wxWidgets et les lib C type SDL).

    *: à noter que boost::pointer_container permet de s'en affranchir, en changeant juste les include et le namespace de list, vector, map, multimap, set et multiset et quelques petites adaptations de code, très minimes en regard du confort ajouté. Je me demande, d'ailleurs, s'il existe un sujet recensant les lib d'outil les plus utilisées?

  10. #10
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Et comme d'habitude, C99 et C11 passent à la trappe...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  11. #11
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    832
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 832
    Points : 2 625
    Points
    2 625
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Et comme d'habitude, C99 et C11 passent à la trappe...
    Je vais peut-être dire une connerie, mais le C++11 n'inclue-t-il pas C11?
    Pour le C99 en revanche... ça serait pas mal qu'ils commencent par intégrer stdint.h au lieu de leur immondes LPTSTRTARALAPEPETTECODECRADO qui parsèment le code "spécialisé" pour msw... donc je te rejoins sur ce point

  12. #12
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 184
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 184
    Points : 17 118
    Points
    17 118
    Par défaut
    C11 et C++11 se recoupent sur certains concepts, mais il n'y a pas d'inclusion. et même des différences syntaxiques pour certaines choses, si je me souviens bien
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  13. #13
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Il y a des éléments C89 qui ne compileront pas en C++11, comme le downcast implicite de void* en un autre pointeur, ou des variables dont les noms sont des mots réservés du C++, ou possèdent le même nom que des structures.
    Ce code contient des exemples de ces trois incompatibilités.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  14. #14
    Membre émérite
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Points : 2 799
    Points
    2 799
    Par défaut
    Il y a des éléments C89 qui ne compileront pas en C++11, comme le downcast implicite de void* en un autre pointeur, ou des variables dont les noms sont des mots réservés du C++, ou possèdent le même nom que des structures.
    Ce code contient des exemples de ces trois incompatibilités.
    Rien qui ne se résolve aisément dans ce bout de code.

    De mémoire, les trucs de C99 qui manquaient dans C++98, c’était plutôt les variable length array, mais tous les compilateurs les acceptent.

  15. #15
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Ça devient plus compliqué si tu as un projet de plusieurs milliers de lignes de code avec pas mal de malloc(), car un bon programmeur C hait les casts explicites: Tu te retrouves à devoir passer en revue chaque erreur pour rajouter les casts, refactorer les variables ou types qui ne passent plus, etc.

    En gros, chaque fois qu'un gars de M$ te dit "si tu veux du C11, utilise notre compilo C++11" il te dit "nettoie ton code C pour le faire rentrer dans le subset commun aux deux" ou pire "Ne programme pas en C mais en "C/C++"." Après tout le temps qu'on a passé à apprendre aux gens que l'expression "C/C++" était une hérésie et que programmer en C avec un compilo C++ était une mauvaise idée.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. initialisation d'une combobox dans Visual Studio 2012
    Par elmanu20 dans le forum Visual C++
    Réponses: 6
    Dernier message: 26/11/2013, 15h28
  2. Réponses: 0
    Dernier message: 10/10/2013, 17h32
  3. [Débutant] Base présente dans Visual Studio 2012 Express for the Web
    Par longbeach dans le forum Accès aux données
    Réponses: 1
    Dernier message: 21/01/2013, 15h09
  4. [Débutant] Création d'un ReportViewer dans Visual Studio 2012
    Par Milyshyn76 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 14/01/2013, 12h01
  5. Disparition DomainServices dans Visual Studio 2012 ?
    Par Octavius69 dans le forum Développement Web avec .NET
    Réponses: 0
    Dernier message: 26/11/2012, 17h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo