7
votes

Apprendre sur les fonctionnalités C ++ 0X

Qu'est-ce qu'un bon endroit pour en savoir plus sur les nouvelles fonctionnalités C ++ 0X? Je comprends qu'ils n'auraient peut-être pas encore été entièrement finalisé, mais ce serait bien de commencer la tête. De plus, quels compilateurs les soutiennent actuellement?


2 commentaires

Pas un duplicata, mais vous pouvez obtenir des réponses ici Il y a à la fois des liens vers des brouillons et une liste de compilateurs qui mettent en œuvre C ++ [0 | 1] x Caractéristiques


Duplicaté partiel: Stackoverflow.com/ Questions / 200237 / ... . Cela ne parle pas du support du compilateur.


5 Réponses :


0
votes

Vous devez certainement connaître le site Web officiel du groupe de travail pour ISO / IEC JTC1 / SC22 / WG21 . Cela dispose de l'information du comité. Il contient donc les documents officiels en cours de développement. Cependant, ce n'est pas nécessairement le meilleur endroit pour en savoir plus sur les idées de fond derrière les différentes idées suggérées pour C ++ 0x.

Un autre endroit à regarder est le comp.std.c ++ nouvelles grouper; Cela a souvent des discussions ésotériques de la minutie des caractéristiques possibles.


0 commentaires

11
votes

Un moyen facile et amusant d'apprendre qu'il est de regarder le Vue d'ensemble C ++ 0x Google Techtalk . Bjarne Strouttrup's C ++ 0x FAQ qui couvre une énorme partie des nouvelles fonctionnalités.


0 commentaires

0
votes

Ce n'est pas vraiment sur les fonctionnalités de la langue, mais vous voudrez peut-être jeter un coup d'œil à TR1 . C'est une spécification de bibliothèques qui vont la plupart de chez C ++ 0x.

Il y a des implémentations réelles pour cela afin que vous puissiez jouer avec elle en ce moment (par exemple, un Mise en œuvre VC ++ par Microsoft).


0 commentaires

3
votes

pour VC ++ 2010, voici la liste des choses qui seront là.

Langue (certaines d'entre elles étaient déjà dans VC2008 comme extensions de langue):

  • lambdas
  • static_assert
  • auto et déclinger
  • Revalue Références ( T && )
  • nullptr
  • template externe (Remarque: pas exporter !)
  • long long
  • Aucun espace requis entre la fermeture > dans des modèles imbriqués (par exemple vecteur > est légal)

    bibliothèques:

    • / et tous les Typefs à l'intérieur (enfin!)
    • std :: unique_ptr , std :: Shared_ptr et std :: faible_ptr
    • std :: Forward_List
    • std :: tuple et éléments associés (E.G. cravate , obtenez ...)
    • Qu'est-ce qui est pas là:

      • Initialisant listes (assez curieusement, l'en-tête est là et contient le type respectif, mais il semble n'y avoir aucune prise en charge de la langue dans Beta 2)
      • Modèles variadiques
      • consexpr
      • basé sur la plage pour (bien que l'extension de langue pour chaque , qui est principalement similaire, reste)
      • Syntaxe d'initialisation uniforme {}
      • Syntaxe de fonction alternative (qui mimicks lambdas)
      • Délégation du constructeur
      • Initials de champ membre identiques
      • [[remplacement]] (mais remplace reste comme une extension de langue)
      • = par défaut et = Supprimer sur les membres
      • CLASSE ENUM
      • en utilisant pour les alias de type et modèle en utilisant
      • char16_t et char32_t et les littéraux de chaîne correspondants
      • Literies à chaîne RAW et définie par l'utilisateur
      • Tailleof sur les champs d'instance sans instance d'objet
      • std :: thread et amis

3 commentaires

Un lien vers la source serait génial!


msdn.microsoft.com/en-us/library/ddd465215 (Vs.100) .aspx couvre les caractéristiques de la langue. Il y a aussi une série de poteaux de blog, bien qu'ils soient quelque peu dépassés maintenant (par exemple, ils ne revendiquent aucun nullptr support, même s'il est maintenant là): blogs.msdn. com / vcblog / archive / 2008/10/28 / ... blogs.msdn.com/vcblog/archive/2009/02/03/... blogs.msdn.com/vcblog/archive/ 2009/04/22 / ...


Quant à la bibliothèque, je ne trouve aucun document précis couvrant cela. J'ai compilé la liste ci-dessus en regardant ce qui est fourni dans mon installation Beta 2 VS2010. Notez également que la liste ci-dessus n'inclut pas les fonctionnalités de la bibliothèque présentes dans TR1, qui ont été simplement déplacées de std :: tr1 :: sur std :: pour c ++ 0x (VC2010 prend en charge de telles fonctionnalités dans les deux espaces de noms).



3
votes

Pour le support du compilateur Vous pouvez regarder ici: C ++ 0xCompilersupport .

compilateurs:

papier (s)
HP ACC
EDG ECCP
GCC
Intel C ++
MSVC
IBM XLC ++ de
Sun C ++
C ++ Builder 2009/10


0 commentaires