{"id":1160,"date":"2011-09-10T12:21:37","date_gmt":"2011-09-10T10:21:37","guid":{"rendered":"http:\/\/linux.leunen.com\/?p=1160"},"modified":"2011-09-10T12:21:37","modified_gmt":"2011-09-10T10:21:37","slug":"c-breve-presentation-de-c0x","status":"publish","type":"post","link":"https:\/\/www.leunen.com\/linux\/2011\/09\/c-breve-presentation-de-c0x\/","title":{"rendered":"C++ &#8211; br\u00e8ve pr\u00e9sentation de C++0x"},"content":{"rendered":"<p>Le 12 ao\u00fbt 2011, <strong>Herb Sutter<\/strong> annon\u00e7ait sur <a href=\"http:\/\/herbsutter.com\/2011\/08\/12\/we-have-an-international-standard-c0x-is-unanimously-approved\/\">son blog<\/a> que la nouvelle norme <em>C++0x<\/em> \u00e9tait approuv\u00e9e \u00e0 l&rsquo;unanimit\u00e9. La pr\u00e9c\u00e9dente norme datait de 1998 et avait juste subi une mise \u00e0 jour en 2003.<\/p>\n<p>Le compilateur <em>gcc<\/em> inclus dans Linux a commenc\u00e9 \u00e0 impl\u00e9menter les nouveaut\u00e9s de cette (future) nouvelle norme depuis la version 4.3. Notez que Ubuntu 11.04 dispose de la version 4.5 de <em>gcc<\/em> et que dans Ubuntu 11.10 \u00e0 venir, la version de <em>gcc<\/em> sera la 4.6. Il faudra attendre les versions 4.7 et suivantes pour que toutes les extensions au langage permises par la nouvelle norme apparaissent dans <em>gcc<\/em>.<\/p>\n<p>Pour pouvoir compiler un programme avec <em>gcc<\/em> en utilisant la nouvelle norme, il faut ajouter une option sur la ligne de commande de <em>g++<\/em>: <em>-std=c++0x<\/em><\/p>\n<pre class=\"codesource\">\r\n$ g++ -Wall -std=c++0x -c mon_fichier.cpp\r\n<\/pre>\n<p>Je ne vais pas d\u00e9tailler toutes les nouveaut\u00e9s de cette norme. D&rsquo;autres le font bien mieux que moi mais je voudrais juste en pr\u00e9senter quelques unes qui me semblent int\u00e9ressantes pour montrer l&rsquo;\u00e9volution du langage.<\/p>\n<p><em>C++0x<\/em> introduit les types <em>char16_t<\/em> et <em>char_32_t<\/em> non-sign\u00e9s d\u00e9finis dans le fichier d&rsquo;ent\u00eate <em>cstdint<\/em>. Ces nouveaux types seront utiles pour les caract\u00e8res <em>unicode<\/em> puisqu&rsquo;avec le type <em>char_t<\/em> sur 8 bits, on retrouve les trois tailles possibles d&rsquo;un caract\u00e8re <em>unicode<\/em>.<\/p>\n<pre class=\"codesource\">\r\n<span class=\"preprocessor\">#include &lt;iostream&gt;\r\n<\/span><span class=\"preprocessor\">#include &lt;cstdint&gt;\r\n<\/span>\r\n<span class=\"reservedname\">int<\/span> main()\r\n{\r\n  <span class=\"reservedname\">char16_t<\/span> c = 'a';\r\n  <span class=\"reservedname\">char32_t<\/span> d = 'b';\r\n  std::cout &lt;&lt; <span class=\"reservedname\">sizeof<\/span>(c) &lt;&lt; std::endl;\r\n  std::cout &lt;&lt; <span class=\"reservedname\">sizeof<\/span>(d) &lt;&lt; std::endl;   \r\n  \r\n  <span class=\"reservedname\">return<\/span> 0;\r\n}\r\n<\/pre>\n<p>L&rsquo;<em>inf\u00e9rence de type<\/em> permet au compilateur de d\u00e9duire le type d&rsquo;une variable \u00e0 partir de la fa\u00e7on dont elle est initialis\u00e9e. Utile dans des boucles ou dans le parcours de listes, de dictionaires&#8230;<\/p>\n<pre class=\"codesource\">\r\n<span class=\"reservedname\">auto<\/span> ma_variable = 10;  <span class=\"codecomment\">\/\/ ma_variable aura le type int d\u00e9fini au moment de l'initialisaton\r\n<\/span>\r\n<\/pre>\n<p>Le <em>foreach<\/em> attendu par certains appara\u00eet aussi dans <em>C++0x<\/em>. Il permet de parcourir une liste facilement.<\/p>\n<pre class=\"codesource\">\r\n<span class=\"preprocessor\">#include &lt;iostream&gt;\r\n<\/span>\r\n<span class=\"reservedname\">int<\/span> main()\r\n{\r\n  <span class=\"reservedname\">int<\/span> a[5] = {1, 2, 3, 4, 5};\r\n  <span class=\"reservedname\">for<\/span>(<span class=\"reservedname\">int<\/span> i : a)\r\n  {\r\n    std::cout&lt;&lt;i&lt;&lt;std::endl;\r\n  }  \r\n  <span class=\"reservedname\">return<\/span> 0;\r\n}\r\n<\/pre>\n<p>Le support des fonctions <em>lambdas<\/em> est aussi une des nouveaut\u00e9s. Les fonctions <em>lambdas<\/em> sont des fonctions anonymes ne n\u00e9cessitant pas de d\u00e9finition comme les fonctions habituelles et peuvant \u00eatre utilis\u00e9es directement dans le code. Elles sont d\u00e9finies par exemple de cette fa\u00e7on:<\/p>\n<pre class=\"codesource\">\r\n[](<span class=\"reservedname\">int<\/span> i, <span class=\"reservedname\">int<\/span> y)\r\n{\r\n  <span class=\"reservedname\">if<\/span>(i &gt; y)<span class=\"reservedname\">return<\/span> i;\r\n  <span class=\"reservedname\">else<\/span> <span class=\"reservedname\">return<\/span> y;\r\n}\r\n<\/pre>\n<p>Une autre nouveaut\u00e9 tr\u00e8s utile lors de cross-compilation est l&rsquo;apparition des <em>assertions statiques<\/em> disponibles au moment de la compilation et non plus comme les <em>assertions<\/em> classiques au moment de l&rsquo;ex\u00e9cution. Elles permettent de tester les types de variables et de s&rsquo;assurer, par exemple, qu&rsquo;ils ont la taille d\u00e9sir\u00e9e.<\/p>\n<pre class=\"codesource\">\r\n<span class=\"reservedname\">static_assert<\/span>(<span class=\"reservedname\">sizeof<\/span>(<span class=\"reservedname\">char16_t<\/span>) == 2, <span class=\"quotedstring\">\"char16_t doit avoir une taille de 2\"<\/span>);\r\n\r\n<span class=\"reservedname\">int<\/span> main()\r\n{\r\n    <span class=\"reservedname\">return<\/span> 0;\r\n}\r\n<\/pre>\n<p>Le pointeur <em>nullptr<\/em> est introduit qui peut prendre n&rsquo;importe quel type de pointeur ou le type bool\u00e9en. NULL par contre, est g\u00e9n\u00e9ralement d\u00e9fini comme la valeur enti\u00e8re 0.<\/p>\n<p>Autre point que je voudrais pr\u00e9senter est la possibilit\u00e9 pour un constructeur d&rsquo;une classe d&rsquo;appeler un autre constructeur de cette m\u00eame classe ce qui n&rsquo;\u00e9tait pas possible auparavant. <\/p>\n<pre class=\"codesource\">\r\n<span class=\"preprocessor\">#include &lt;iostream&gt;\r\n<\/span>\r\n<span class=\"reservedname\">class<\/span> C\r\n{\r\n  <span class=\"reservedname\">private<\/span>:\r\n    <span class=\"reservedname\">int<\/span> i;\r\n  \r\n  <span class=\"reservedname\">public<\/span>:\r\n    C(<span class=\"reservedname\">int<\/span> y){std::cout&lt;&lt;y&lt;&lt;std::endl;}\r\n    C(){C(20);}\r\n};\r\n\r\n<span class=\"reservedname\">int<\/span> main()\r\n{\r\n  C c;\r\n  <span class=\"reservedname\">return<\/span> 0;\r\n}\r\n<\/pre>\n<p>Ajoutons aussi que <em>C++0x<\/em> apporte le support des <em>threads<\/em>, des <em>tuples<\/em>, des <em>expressions r\u00e9guli\u00e8res<\/em> via une mise \u00e0 jour de la <em>Standard Template Library<\/em> et plein d&rsquo;autres choses qu&rsquo;il m&rsquo;est impossible d&rsquo;expliquer ici tant elles sont nombreuses. Mais on voit clairement que le langage s&rsquo;est modernis\u00e9 et introduit des choses qui \u00e9taient d\u00e9j\u00e0 pr\u00e9sentes dans d&rsquo;autres langages plus r\u00e9cents.<\/p>\n<p><strong>Sources:<\/strong><br \/>\n<a href=\"http:\/\/www.ibm.com\/developerworks\/aix\/library\/au-gcc\/index.html?cmp=dw&#038;cpb=dwaix&#038;ct=dwgra&#038;cr=twitter&#038;ccy=zz&#038;cr=GCC4.5\">C++0x feature support in GCC 4.5<\/a> &#8211; article sur le site d&rsquo;IBM<br \/>\n<a href=\"http:\/\/www2.research.att.com\/~bs\/C++0xFAQ.html\">C++0x faq<\/a> de Bjarne Stroustrup<br \/>\n<a href=\"http:\/\/en.wikipedia.org\/wiki\/C++0x\">C++11<\/a> &#8211; article de Wikipedia<br \/>\n<a href=\"http:\/\/www.open-std.org\/jtc1\/sc22\/wg21\/docs\/papers\/2010\/n3092.pdf\">Le draft de la future norme<\/a> &#8211; fichier pdf<br \/>\n<a href=\"http:\/\/linuxfr.org\/news\/le-standard-c0x-a-enfin-%C3%A9t%C3%A9-vot%C3%A9\">C++ Le standard C++0x a enfin \u00e9t\u00e9 vot\u00e9<\/a> &#8211; article de linuxfr.org<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le 12 ao\u00fbt 2011, Herb Sutter annon\u00e7ait sur son blog que la nouvelle norme C++0x \u00e9tait approuv\u00e9e \u00e0 l&rsquo;unanimit\u00e9. La pr\u00e9c\u00e9dente norme datait de 1998 et avait juste subi une mise \u00e0 jour en 2003. Le compilateur gcc inclus dans Linux a commenc\u00e9 \u00e0 impl\u00e9menter les nouveaut\u00e9s de cette (future) nouvelle norme depuis la version [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.9 - aioseo.com -->\n\t<meta name=\"description\" content=\"Pr\u00e9sentation de la future nouvelle norme C++0x\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Michel Leunen\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.leunen.com\/linux\/2011\/09\/c-breve-presentation-de-c0x\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.9\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Autour de Linux | Ubuntu, linux, C++, audio, python, ...\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"C++ - br\u00e8ve pr\u00e9sentation de C++0x | Autour de Linux\" \/>\n\t\t<meta property=\"og:description\" content=\"Pr\u00e9sentation de la future nouvelle norme C++0x\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.leunen.com\/linux\/2011\/09\/c-breve-presentation-de-c0x\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2011-09-10T10:21:37+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2011-09-10T10:21:37+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"C++ - br\u00e8ve pr\u00e9sentation de C++0x | Autour de Linux\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Pr\u00e9sentation de la future nouvelle norme C++0x\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/2011\\\/09\\\/c-breve-presentation-de-c0x\\\/#article\",\"name\":\"C++ - br\\u00e8ve pr\\u00e9sentation de C++0x | Autour de Linux\",\"headline\":\"C++ &#8211; br\\u00e8ve pr\\u00e9sentation de C++0x\",\"author\":{\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/author\\\/michel-leunen\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/#organization\"},\"datePublished\":\"2011-09-10T12:21:37+02:00\",\"dateModified\":\"2011-09-10T12:21:37+02:00\",\"inLanguage\":\"fr-FR\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/2011\\\/09\\\/c-breve-presentation-de-c0x\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/2011\\\/09\\\/c-breve-presentation-de-c0x\\\/#webpage\"},\"articleSection\":\"C++\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/2011\\\/09\\\/c-breve-presentation-de-c0x\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.leunen.com\\\/linux\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/category\\\/c\\\/#listItem\",\"name\":\"C++\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/category\\\/c\\\/#listItem\",\"position\":2,\"name\":\"C++\",\"item\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/category\\\/c\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/2011\\\/09\\\/c-breve-presentation-de-c0x\\\/#listItem\",\"name\":\"C++ &#8211; br\\u00e8ve pr\\u00e9sentation de C++0x\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/2011\\\/09\\\/c-breve-presentation-de-c0x\\\/#listItem\",\"position\":3,\"name\":\"C++ &#8211; br\\u00e8ve pr\\u00e9sentation de C++0x\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/category\\\/c\\\/#listItem\",\"name\":\"C++\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/#organization\",\"name\":\"Autour de Linux\",\"description\":\"Ubuntu, linux, C++, audio, python, ...\",\"url\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/author\\\/michel-leunen\\\/#author\",\"url\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/author\\\/michel-leunen\\\/\",\"name\":\"Michel Leunen\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/2011\\\/09\\\/c-breve-presentation-de-c0x\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/41e08d5087493eaa9ce4ebd4e0a55ffb?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Michel Leunen\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/2011\\\/09\\\/c-breve-presentation-de-c0x\\\/#webpage\",\"url\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/2011\\\/09\\\/c-breve-presentation-de-c0x\\\/\",\"name\":\"C++ - br\\u00e8ve pr\\u00e9sentation de C++0x | Autour de Linux\",\"description\":\"Pr\\u00e9sentation de la future nouvelle norme C++0x\",\"inLanguage\":\"fr-FR\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/2011\\\/09\\\/c-breve-presentation-de-c0x\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/author\\\/michel-leunen\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/author\\\/michel-leunen\\\/#author\"},\"datePublished\":\"2011-09-10T12:21:37+02:00\",\"dateModified\":\"2011-09-10T12:21:37+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/#website\",\"url\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/\",\"name\":\"Autour de Linux\",\"description\":\"Ubuntu, linux, C++, audio, python, ...\",\"inLanguage\":\"fr-FR\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"C++ - br\u00e8ve pr\u00e9sentation de C++0x | Autour de Linux","description":"Pr\u00e9sentation de la future nouvelle norme C++0x","canonical_url":"https:\/\/www.leunen.com\/linux\/2011\/09\/c-breve-presentation-de-c0x\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.leunen.com\/linux\/2011\/09\/c-breve-presentation-de-c0x\/#article","name":"C++ - br\u00e8ve pr\u00e9sentation de C++0x | Autour de Linux","headline":"C++ &#8211; br\u00e8ve pr\u00e9sentation de C++0x","author":{"@id":"https:\/\/www.leunen.com\/linux\/author\/michel-leunen\/#author"},"publisher":{"@id":"https:\/\/www.leunen.com\/linux\/#organization"},"datePublished":"2011-09-10T12:21:37+02:00","dateModified":"2011-09-10T12:21:37+02:00","inLanguage":"fr-FR","mainEntityOfPage":{"@id":"https:\/\/www.leunen.com\/linux\/2011\/09\/c-breve-presentation-de-c0x\/#webpage"},"isPartOf":{"@id":"https:\/\/www.leunen.com\/linux\/2011\/09\/c-breve-presentation-de-c0x\/#webpage"},"articleSection":"C++"},{"@type":"BreadcrumbList","@id":"https:\/\/www.leunen.com\/linux\/2011\/09\/c-breve-presentation-de-c0x\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.leunen.com\/linux#listItem","position":1,"name":"Home","item":"https:\/\/www.leunen.com\/linux","nextItem":{"@type":"ListItem","@id":"https:\/\/www.leunen.com\/linux\/category\/c\/#listItem","name":"C++"}},{"@type":"ListItem","@id":"https:\/\/www.leunen.com\/linux\/category\/c\/#listItem","position":2,"name":"C++","item":"https:\/\/www.leunen.com\/linux\/category\/c\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.leunen.com\/linux\/2011\/09\/c-breve-presentation-de-c0x\/#listItem","name":"C++ &#8211; br\u00e8ve pr\u00e9sentation de C++0x"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.leunen.com\/linux#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.leunen.com\/linux\/2011\/09\/c-breve-presentation-de-c0x\/#listItem","position":3,"name":"C++ &#8211; br\u00e8ve pr\u00e9sentation de C++0x","previousItem":{"@type":"ListItem","@id":"https:\/\/www.leunen.com\/linux\/category\/c\/#listItem","name":"C++"}}]},{"@type":"Organization","@id":"https:\/\/www.leunen.com\/linux\/#organization","name":"Autour de Linux","description":"Ubuntu, linux, C++, audio, python, ...","url":"https:\/\/www.leunen.com\/linux\/"},{"@type":"Person","@id":"https:\/\/www.leunen.com\/linux\/author\/michel-leunen\/#author","url":"https:\/\/www.leunen.com\/linux\/author\/michel-leunen\/","name":"Michel Leunen","image":{"@type":"ImageObject","@id":"https:\/\/www.leunen.com\/linux\/2011\/09\/c-breve-presentation-de-c0x\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/41e08d5087493eaa9ce4ebd4e0a55ffb?s=96&d=mm&r=g","width":96,"height":96,"caption":"Michel Leunen"}},{"@type":"WebPage","@id":"https:\/\/www.leunen.com\/linux\/2011\/09\/c-breve-presentation-de-c0x\/#webpage","url":"https:\/\/www.leunen.com\/linux\/2011\/09\/c-breve-presentation-de-c0x\/","name":"C++ - br\u00e8ve pr\u00e9sentation de C++0x | Autour de Linux","description":"Pr\u00e9sentation de la future nouvelle norme C++0x","inLanguage":"fr-FR","isPartOf":{"@id":"https:\/\/www.leunen.com\/linux\/#website"},"breadcrumb":{"@id":"https:\/\/www.leunen.com\/linux\/2011\/09\/c-breve-presentation-de-c0x\/#breadcrumblist"},"author":{"@id":"https:\/\/www.leunen.com\/linux\/author\/michel-leunen\/#author"},"creator":{"@id":"https:\/\/www.leunen.com\/linux\/author\/michel-leunen\/#author"},"datePublished":"2011-09-10T12:21:37+02:00","dateModified":"2011-09-10T12:21:37+02:00"},{"@type":"WebSite","@id":"https:\/\/www.leunen.com\/linux\/#website","url":"https:\/\/www.leunen.com\/linux\/","name":"Autour de Linux","description":"Ubuntu, linux, C++, audio, python, ...","inLanguage":"fr-FR","publisher":{"@id":"https:\/\/www.leunen.com\/linux\/#organization"}}]},"og:locale":"fr_FR","og:site_name":"Autour de Linux | Ubuntu, linux, C++, audio, python, ...","og:type":"article","og:title":"C++ - br\u00e8ve pr\u00e9sentation de C++0x | Autour de Linux","og:description":"Pr\u00e9sentation de la future nouvelle norme C++0x","og:url":"https:\/\/www.leunen.com\/linux\/2011\/09\/c-breve-presentation-de-c0x\/","article:published_time":"2011-09-10T10:21:37+00:00","article:modified_time":"2011-09-10T10:21:37+00:00","twitter:card":"summary","twitter:title":"C++ - br\u00e8ve pr\u00e9sentation de C++0x | Autour de Linux","twitter:description":"Pr\u00e9sentation de la future nouvelle norme C++0x"},"aioseo_meta_data":{"post_id":"1160","title":"C++ - br\u00e8ve pr\u00e9sentation de C++0x | #site_title","description":"Pr\u00e9sentation de la future nouvelle norme C++0x","keywords":[{"label":"C++0x,gcc,g++,tuple,threads,fonction lambda,char16_t,char_t,char32_t,inf\u00e9rence de type,unicode foreach,assertion statique,nullptr,Standard Template Library","value":"C++0x,gcc,g++,tuple,threads,fonction lambda,char16_t,char_t,char32_t,inf\u00e9rence de type,unicode foreach,assertion statique,nullptr,Standard Template Library"}],"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[],"defaultGraph":"","defaultPostTypeGraph":""},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2020-12-21 07:19:17","updated":"2025-06-23 21:09:34","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.leunen.com\/linux\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.leunen.com\/linux\/category\/c\/\" title=\"C++\">C++<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tC++ \u2013 br\u00e8ve pr\u00e9sentation de C++0x\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.leunen.com\/linux"},{"label":"C++","link":"https:\/\/www.leunen.com\/linux\/category\/c\/"},{"label":"C++ &#8211; br\u00e8ve pr\u00e9sentation de C++0x","link":"https:\/\/www.leunen.com\/linux\/2011\/09\/c-breve-presentation-de-c0x\/"}],"_links":{"self":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts\/1160"}],"collection":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/comments?post=1160"}],"version-history":[{"count":5,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts\/1160\/revisions"}],"predecessor-version":[{"id":1165,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts\/1160\/revisions\/1165"}],"wp:attachment":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/media?parent=1160"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/categories?post=1160"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/tags?post=1160"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}