Visual Studio 2012 et C++ 11 (C++0x)

C++0x a mis du temps a sortir puis l’année dernière en août, grande nouvelle, approuvé unanimement. Portant désormais le nom de C++11 il apporte de grand changement par rapport à l’ancienne norme (datant de 2003).

Nouveautés dans le langage, nouveautés dans la bibliothèque standard mais également  les bibliothèques du technical report 1 (Kisako ? Le technical report 1 est un document proposant des additions à la bibliothèque standard : has tables, expressions régulières, smart pointers, etc. Sorti en 2003, nombre de ces additions ont été implémentées par les vendeurs au point où la plupart font désormais partis du standard officiel C++11).

Pourquoi ce post ? Parce ce que Visual Studio 2012 (anciennement nommé VS 2011) est en release candidate et qu’il apporte des nouveautés à l’implémentation partielle de C++11  sous VS2010 !!

Voici la liste, probablement non exhaustive de ces nouveautés conformes à C++ 11 :

*       rvalue references en version 2.1 <http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1138>  par rapport à la 2.0
*       lambdas en version 1.1 <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2927.pdf>  par rapport à la 1.0.
*       decltype en version 1.1 <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf>  par rapport à la 1.0

*       Amélioration d’Alignment (mais non complet) <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf>
*       Enumérateurs fortement typés <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf>
*       Forward declared enums <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2764.pdf>
*       Standard layout and trivial types <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2342.htm>
*       Atomics <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2427.html>
*       Strong compare and exchange <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2748.html>
*       Bi-directional fences <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2752.htm>
*       Data-dependency ordering <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2664.htm>
*       Range-based for loop <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2930.html>

Laisser un commentaire