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? P>
5 Réponses :
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. P>
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. P>
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. P>
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. p>
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). P>
pour VC ++ 2010, voici la liste des choses qui seront là. P>
Langue (certaines d'entre elles étaient déjà dans VC2008 comme extensions de langue): p>
static_assert code> li>
-
auto code> et déclinger code> li>
- Revalue Références (
T && CODE>) LI>
-
nullptr code> li>
-
template externe code> (Remarque: pas exporter code>!) li>
-
long long code> li>
- Aucun espace requis entre la fermeture
> code> dans des modèles imbriqués (par exemple vecteur > code> est légal) li>
ul>
bibliothèques: p>
-
code> / code> et tous les Typefs à l'intérieur (enfin!) Li>
-
std :: unique_ptr code>, std :: Shared_ptr code> et std :: faible_ptr code> li> li>
-
std :: Forward_List Code> LI>
-
std :: tuple code> et éléments associés (E.G. cravate code>, obtenez code> ...) li>
-
code> li>
-
code> li>
ul>
Qu'est-ce qui est pas fort> là: p>
- Initialisant listes (assez curieusement, l'en-tête
code> est là et contient le type respectif, mais il semble n'y avoir aucune prise en charge de la langue dans Beta 2) Li>
- Modèles variadiques li>
-
consexpr code> li>
- basé sur la plage
pour code> (bien que l'extension de langue pour chaque code>, qui est principalement similaire, reste) li>
- Syntaxe d'initialisation uniforme
{} code> li>
- Syntaxe de fonction alternative (qui mimicks lambdas) li>
- Délégation du constructeur LI>
- Initials de champ membre identiques li>
-
[[remplacement]] code> (mais remplace code> reste comme une extension de langue) li>
-
= par défaut code> et = Supprimer code> sur les membres li>
-
CLASSE ENUM CODE> LI>
-
en utilisant code> pour les alias de type et modèle en utilisant code> li>
-
char16_t code> et char32_t code> et les littéraux de chaîne correspondants li>
- Literies à chaîne RAW et définie par l'utilisateur LI>
-
Tailleof code> sur les champs d'instance sans instance d'objet li>
-
std :: thread code> et amis li>
ul>
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 code> 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 :: code> sur
std :: code> pour c ++ 0x (VC2010 prend en charge de telles fonctionnalités dans les deux espaces de noms).
Pour le support du compilateur Vous pouvez regarder ici: C ++ 0xCompilersupport . p>
compilateurs: p>
papier (s)
HP ACC
EDG ECCP
GCC
Intel C ++
MSVC
IBM XLC ++ de
Sun C ++
C ++ Builder 2009/10 P>
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.