[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.
Partager