[3DArchi fork de cette discussion/]
Salut !
Question : « std::shared_ptr », c'est du C++ ou du C++0x ?
[3DArchi fork de cette discussion/]
Salut !
Question : « std::shared_ptr », c'est du C++ ou du C++0x ?
C++0x. Certains compilateurs le proposent en TR1. Sinon, Boost![]()
Ressources proposées par 3DArchi - Les fonctions virtuelles en C++ - Cours et tutoriels C++ - FAQ C++ - Forum C++.
Le technical report 1 une extension de la norme (par le commité du C++) qui offre de nouvelles fonctionnalités.
"Never use brute force in fighting an exponential." (Andrei Alexandrescu)
Mes articles dont Conseils divers sur le C++
Une très bonne doc sur le C++ (en) Why linux is better (fr)
La version actuelle du standard C++, formellement adoptée en 98 se nomme C++98.
Le prochaine version, qui est en cours de finalisation, est actuellement nommée c++0x (on espérait qu'elle sortirait avant 2010, et le x serait remplacé par l'année correspondante, maintenant, on la nomme aussi C++1X, et elle sera probablement C++11).
Entre temps, il est paru nécessaire de pouvoir faire des versions intermédiaire. L'une d'elle, C++03, est un simple bug-fix de la norme sans grand intérêt.
Pour la partie bibliothèque de la norme, il a paru d'autant plus important d'aller de l'avant plus vite que pour le reste du langage, et il a donc été décidé de publier un document, non normatif (car c'est très long de faire adopter quelque chose de normatif, et ça aurait pu être en conflit avec C++0x), mais officiel quand même, qui propose de nouvelles bibliothèques.
L'astuce pour formaliser ça est la notion de Technical Report, et comme c'était le premier, TR1.
Les fonctionnalités contenues dans ce TR1 commencent à être bien prises en compte par les compilateurs classiques, et feront partie de C++0x.
On peut citer dans TR1 smart_ptr, weak_ptr, random numbers, regex, unordered_map, bind...
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.
Hum… Intéressant tout ça…
Si je comprends bien, TR1 est une extension du C++ uniquement au niveau des bibliothèques, pas du langage.
Donc pas de risque de voir déjà débarquer les « doubles références » (je ne sais plus comment ça s'appelle : UnType && x), ou d'autres bizarreries de ce genre ?
Sinon, on peut trouver quelque part une référence relativement simple à parcourir ?
Tu peux trouver un tour d'horizon sur wikipedia , puis tu peux faire une recherche sur ce qui t'interresse. Vu que la bibliotheque standard ne change pas beaucoup entre le tr1 et le c++0x, les reference de l'un sont presque valable pour l'autre. Par contre tout les compilateur n'implementent pas tout le tr1, par exemple gcc ne prend pas en charge les regex.
Salut,
La version 4.5.0 fournit, en tout cas, le fichier regex dans le dossier TR1...
Et, pour autant que j'en sache, les regex font partie de ce qui est supporté par Gcc lorsque l'on active le support de C++1x
Bon, c'est effectivement la version de développement, et je ne sais pas ce que donne la version 4.4.x sur le sujet![]()
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
Merci pour vos réponses.
Pour info, les regex sont disponibles pour GCC 4.4.5, tant avec C++0x qu'avec TR1.
Ah...En fait, j'avais basé mes affirmations sur ce(s) tableau(x), http://gcc.gnu.org/onlinedocs/libstd...us.iso.tr24733, où à peu près l'ensemble des entrées contenant regex sont violettes et suivie d'un 'N'. Ils n'ont pas du être mis à jour récemment...
Partager