On peut toujours (en manipulant le paramètre comme un objet fonction, d'autant plus que si on passe une closure à une fonction, cette fonction est censée connaître sa forme; le code de remove_if version 98 n'a pas besoin de changer pour supporter les closures) - mais on ne peut pas obtenir beaucoup d'information sur l'objet passé en paramètre.
Quand à auto, je ne pense pas qu'on puisse spécifier un paramètre de fonction ayant pour type auto. En fait, lorsqu'une variable est déclarée comme étant du type "auto", il faut que cette variable soit initialisée:
auto i; // invalide: impossible de déterminer le type de i
auto j = 10.0f; // ok, j est du type float).
La seule façon autorisée de se servir de auto dans un déclaration est pour remplacer le type de retour de la fonction lorsque ce dernier est déclaré tardivement (c'est à dire lorsqu'on utilise la forme
Il va falloir penser à mettre à jour le parseur C++ de la balise code...
Code : Sélectionner tout - Visualiser dans une fenêtre à part auto func-name(arg-list) -> type-id { ... }
A noter que le mailing 2008-08 est disponible. Les principales news: les concepts qui sont de plus en plus travaillés et une nouvelle version su draft:N2723.
[FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.
Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.
Utiliser auto avec les paramètres revient plus ou moins à la même chose que d'utiliser un paramètre template.
Ensuite si on veut que la surcharge fonctionne, il faut utiliser SFINAE, qui s'utilise d'ailleurs très bien avec auto -> decltype.
N'est visible que pour les types pour lesquels t.foo() est valide grâce à SFINAE.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 template<typename T> auto f(T&& t) -> decltype(t.foo()) { return t.foo(); }
Ce qui augmente d'ailleurs l'intérêt d'exprimer tout code sous forme d'expression, car cela permet d'inférer les pré-requis.
[FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.
Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.
Moi je me dit que je vais pouvoir alègrement oublier certains détails génant du language.
Mais je crois que j'ai déjà dit sur ce thread, c'est plus les prochaines générations de débutant qui vont être troublés... va falloir leur faire des historiques avant de commencer a leur faire apprendre le language. Histoire qu'ils voient qu'un language existe dans le temps et n'est pas fixé...et qu'ya des raisons a ça.
Le prochain Visual Studio 2010 est disponible en version (plus ou moins) "alpha" et les développeurs ont donné un example d'utilisation des lambda assez clair et pas mal interessant. (Peut être candidat à traduction?)
Dans tous les cas je suis un peu deçu qu'il n'y ai que 5 features du c++0x d'implémentés dans cette version qui ne devrait être en version finale qu'a la fin de l'année prochaine...
C'est sûr que si VC++ met autant de temps à implémenter le standard C++0x qu'Internet Explorer pour le HTML/CSS, vous êtes pas sortis de l'auberge, les adeptes de la fenêtre…
Cours : Initiation à CMake
Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
Ce message a été tapé avec un clavier en disposition bépo.
Il y a deja des choses dans des versions releasee, donc oui. Voir http://gcc.gnu.org/projects/cxx0x.html, voir ausi http://www.generic-programming.org/software/ConceptGCC/.
Quel sera le rapport entre les deux au moment de la sortie de VC 2010, je n'en sais rien.
gcc bosse pas mal dessus, ne vous inquiétez pas.
Les liens de Jean-Marc sont à ma connaissance les 2 plus utilies.
Ils parlent beaucoup d'arrêter le développement conceptgcc pour ne bosser que sur les prochaines versions de gcc. Mais le code de conceptgcc est ainsi tout frais tout chaud tout prêt pour rentrer dans gcc. Plus d'infos sur la ML de ConceptGCC.
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++
Le guide pour bien débuter en C++ - Cours et tutoriels pour apprendre C++
Visual C++ 10 est déjà bien avancé dans C++0x a priori...
J'ai causé hier avec un mec de Microsoft qui touche pas mal à tout ce qui est C++, et effectivement ils ont déjà d'excellentes choses dans VC++ 10 CTP et comptent bien continuer, autrement dit ils ne laissent absolument pas le C++ standard de côté. En fait, ils vont fournir un petit framework pour faire de la parallélisation extrêmement puissante combinée aux lambdas, par exemple.
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++
Le guide pour bien débuter en C++ - Cours et tutoriels pour apprendre C++
J'imagine qu'ils vont compléter avec un SP comme ils avaient complété la stl avec le TR1 dans le SP1 de VS2008.
Au passage, VC++ 10 serait ~ prévu pour fin 2009 début 2010. Là on a juste une première technology preview. Par contre, ça risque d'être efficace, accompagné de ce qu'ils vont faire pour la parallélisation.
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++
Le guide pour bien débuter en C++ - Cours et tutoriels pour apprendre C++
Oui mais d'après les commentaires sur le blog, il a été officiellement décidé que les features c++0x citées seraient les seules fournies pour la release de VC10... même si j'espère qu'ils réviseront ça d'ici là mais j'en doute.
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++
Le guide pour bien débuter en C++ - Cours et tutoriels pour apprendre C++
Développement Parallèle
Avec cette nouvelle version, on y retrouvera à la fois un Concurrency Runtime, qui permettra la gestion dynamique de ressources dans un environnement fortement concurrentiel, ainsi que des librairies Parallel Pattern Library (PPL) Agent Library, qui fournissent un ensemble de Primitives (des tâches), d’algorithmes (Parallel_For, Parallel_For_Each, etc..) d’objets de synchronisations (enter_critical, reader_critical, event, etc..) et de structure de données concurrent (concurrent_queue, concurrent_Stack, etc..) qui ont pour but de réduire les concepts du parallélisme, et ainsi favoriser une meilleur adoption.
En fin Boris, nous a assuré que l’IDE de VC 10 permettrait de déployer plus facilement les applications, et qu’ils avaient bosser de manière drastique sur les performances des gros projets.
En fin, pour ceux qui pensent que le C++ est mort, Scott Guthrie à encore annoncé aujourd’hui notre intention de continuer à travailler sur Win32 et C++, d’ailleurs les nouveautés dans Windows 7 annoncés à la PDC 2008 le prouvent.
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++
Le guide pour bien débuter en C++ - Cours et tutoriels pour apprendre C++
Oui c'est déjà bien par rapport a il y a plus d'un an
Sinon c'est clair que les libs de parallélisation vont aider (de loin ont dirait de la simplification/ajout de MPI+OpenMP non? On sait si c'est basé sur ces libs?)
Pour la distribution par contre est-ce que par hasard tu auras plus d'infos?
Ce sera de l'analogue à ces libs-là, mais fait maison je crois bien. Et il me semble aussi qu'il s'agit d'être MPI/OpenMP-compatible pour des parties "génériques" du framework.
Concernant la date de release ?
Non, c'est tout ce qui a été dit en conférence, pas plus désolé :/
Pour VC++10, on prépare une surprise![]()
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++
Le guide pour bien débuter en C++ - Cours et tutoriels pour apprendre C++
Partager