Se connecter avec
S'enregistrer | Connectez-vous

C++0x est approuvé, C++11 est en vue

Par - Source: Tom's Hardware FR | B 10 commentaires

L’ISO/IEC 14882, le comité qui s’occupe de standardiser le C++ vient d’approuver les caractéristiques de C++0x, selon Herb Sutter, qui est le directeur de l’organisation en question. Il affirme espérer que les caractéristiques soient publiées cette année, donnant ainsi naissance au C++11 (C++ 2011, NDLR).

La dernière mise à jour du célèbre langage de programmation date de 2003. Le C++0x était attendue avant 2010, mais le dernier brouillon (N3291) n’a pu être finalisé que le 5 avril dernier. C++0x va apporter des additions au langage lui-même et va étendre la bibliothèque standard afin d’inclure la plupart des bibliothèques C++ Technical Report 1. Parmi les changements les plus importants, on notera l’effort des développeurs de maintenir la stabilité et la compatibilité de C++0x avec C++98 et le C et le désir de faciliter l’apprentissage du langage par les débutants. Ce dernier aspect peut surprendre, mais il est important de comprendre que le C++ a une portée tellement large, qu’un programmeur expérimenté dans un type d’application ou style de programmation peut être dérouté lorsqu’il change de paradigme, le plaçant dans une position de « débutant ». L’ISO/IEC a donc tenu à favoriser les efforts de diversification des développeurs. Enfin, parmi les nombreuses modifications apportées, on notera le travail d’optimisation et d’aide à la création d’applications multitâches, permettant de mieux exploiter les processeurs d’aujourd’hui.

Commentaires
Interroger un expert

Votre question aux experts de la catégorie Les news : vos réactions du forum

Exemple : Android, ordinateur portable, usb, disque dur

Cette page n'accepte plus de commentaires
  • pierreyoda , 15 août 2011 10:42
    Je chipote mais c'est du C dans l'image, sur un IDE (Integrated Development Environment) obsolète qui plus est (DevC++ n'est plus mis à jour de puis des années, son "fils spirituel" est CodeBlocks) :D 

    Sinon belle avancée, certaines nouveautés sont très alléchantes (lambda functions, initializer lists) et on peut déjà les essayer sur les compilateurs récents. Une belle liste de nouveautés ici : https://secure.wikimedia.org/wikipedia/en/wiki/C%2B%2B11 .

    Maintenant, cela prendra pas mal de temps avant un support complet des principaux compilateurs (GCC / MinGW sous Windows ; Visual C++ étant les deux éléphants) ;) 
  • David Civera , 15 août 2011 10:52
    Ouais, image dans la base de données, toussa... moi pas envie d'en sortir une nouvelle parce que c'est le 15 aout... :D 

    Sinon oui, faudra attendre un peu que les principaux compilateurs se mettent à jour. D'un autres côté, les personnes qui vont utilisés les mises à jour apportées par C++0x dès le premier jour devraient se compter sur les doigts d'une main.
  • Anonyme , 15 août 2011 11:32
    "D'un autres côté, les personnes qui vont utilisés les mises à jour apportées par C++0x dès le premier jour devraient se compter sur les doigts d'une main."
    Alors c'est une main avec beaucoup de doigts:) , car la plupart des avancées, sont ceux déjà utilisé dans la librairie Boost.
  • Afficher les 10 commentaires.
  • Foudge , 15 août 2011 11:38
    Et continueront à les utiliser avec Boost.
  • pierreyoda , 15 août 2011 11:46
    SuperPatochAlors c'est une main avec beaucoup de doigts, car la plupart des avancées, sont ceux déjà utilisé dans la librairie Boost.


    Heu... non, pas vraiment. Le nouveau standard intègre bien des librairies boost (TR1, bientôt TR2 peut-être) mais ce n'est qu'une fraction des nouveautés, pas "la plupart". Sans compter que comme boost est bien plus portable et répandu que C++11, beaucoup resteront sur boost (dans mon cas par exemple tout n'est pas encore à ma disposition du MinGW 4.5)

    De plus, C++11 est aussi (et surtout?) une modification du langage lui-même, pas une "simple" mise à jour des librairies standard (cf. la page wikipédia dans mon message précédant).
  • Anonyme , 15 août 2011 11:53
    les compilateurs actuels implémentent déjà une bonne partie du nouveau standard. Ils ont pas attendu que le standard soit finalisé.

    Visual C++ 2010 par exemple supporte les lambdas, les shared_ptr, les move constructors, nullptr, le mot clé auto, etc...

    http://wiki.apache.org/stdcxx/C++0xCompilerSupport
  • pierreyoda , 15 août 2011 11:59
    Personne n'a dit le contraire f4, mais c'est un support incomplet et seuls les "grands" compilateurs se distinguent (GCC, MSVC = Visual C++, Intel).

    Bref, c'est loin d'être la panacée.
  • victorc2 , 15 août 2011 18:18
    pierreyodaJe chipote mais c'est du C dans l'image, sur un IDE (Integrated Development Environment) obsolète qui plus est (DevC++ n'est plus mis à jour de puis des années, son "fils spirituel" est CodeBlocks)

    CodeBlocks n'a rien à voir avec Dev-C++.
    wxDev-C++ est le "fils spirituel" de Dev-C++ (mais qui plante + que l'original).
  • batchy , 15 août 2011 22:14
    Citation :
    Heu... non, pas vraiment. Le nouveau standard intègre bien des librairies boost (TR1, bientôt TR2 peut-être) mais ce n'est qu'une fraction des nouveautés, pas "la plupart". Sans compter que comme boost est bien plus portable et répandu que C++11, beaucoup resteront sur boost (dans mon cas par exemple tout n'est pas encore à ma disposition du MinGW 4.5)
    Je pourrais dire la même chose de Boost. J'ai essayé de coder quelque chose de pas-inutile en C++0x, et j'ai encore besoin de boost. Même en enlevant de boost les librairies prévues pour c++0x/TR1/le semblant de TR2, il reste encore pas mal de fonctionalité utile, comme les bimaps/multiindexes, la gil, les intrusive containers, l'interface python ...

    Boost restera forcement, C++0x ou pas.
  • incises , 18 septembre 2011 13:41
    L'objectif de C++0x n'est en aucune façon de supplanter Boost !