{"id":3138,"date":"2026-01-30T00:00:00","date_gmt":"2026-01-29T23:00:00","guid":{"rendered":"https:\/\/kunden.weissblaumedia.de\/microconsult\/2018\/02\/05\/cpp11_fl\/"},"modified":"2026-02-04T13:48:20","modified_gmt":"2026-02-04T12:48:20","slug":"cpp11_fl","status":"publish","type":"post","link":"https:\/\/www.microconsult.de\/en\/cpp11_fl\/","title":{"rendered":"New momentum for the embedded project with C++11"},"content":{"rendered":"<p><strong>Many embedded projects still use older (and outdated) environments that don&#039;t allow developers to use a new C++ standard. This is a mistake. Not only do programmers miss out on the newly added features, but C++11 also fundamentally improved several aspects.<\/strong><\/p>\n<p><!--more--><\/p>\n<p>Since version 11, things have been happening again in the world of C++. While the further development of the standard was largely ignored by embedded developers for a long time, version 11 of C++ has given the programming language renewed momentum and a number of new features that are worth taking a closer look at.<\/p>\n<p><strong>One example that is often used is the new null pointer \u2013 <\/strong><strong>nullptr.<\/strong><\/p>\n<p>Example:<\/p>\n<pre>void doSomething(char * pc) { cout &lt;&lt; &quot;char*&quot; &lt;&lt; endl; } void doSomething(int i) { cout &lt;&lt; &quot;int&quot; &lt;&lt; endl; }<\/pre>\n<p>Age Code:<\/p>\n<pre>void testNullPtr(void) { doSomething(NULL);    doSomething(0); }<\/pre>\n<p>Both calls result in `doSomething(int i)`, even though the first version appears to have passed a pointer. The implicit type adjustments result in a conversion to an integer.<\/p>\n<p>A cast is required for the correct call:<\/p>\n<pre>void testNullPtr(void) { doSomething(static_cast (NULL)); doSomething(0); }<\/pre>\n<p>It&#039;s different in C++ from version 11 onwards:<\/p>\n<pre>void testNullPtr(void) { doSomething(nullptr); doSomething(0); }<\/pre>\n<p>The &quot;real&quot; null pointer now tells the compiler what to do.<\/p>\n<p>Elsewhere, greater emphasis was placed on safe programming. Type-safe enumerations (enums) and the new smart pointers are worth mentioning. The introduction of RValue references simplifies the handling of temporary objects.<\/p>\n<h4>Many small improvements make the developer&#039;s daily work easier.<\/h4>\n<p>This includes the <strong>automatic for loop<\/strong> (called a foreach loop in other programming languages) as well as the <strong>automatic type detection of variables<\/strong>. This was further improved in version 14 (especially regarding templates). Incidentally, if you&#039;re still using an older compiler, that&#039;s a good reason to skip version 11 and go straight to C++14.<\/p>\n<p>Another noteworthy innovation is the <strong>Lambda functions<\/strong>, These functions operate flexibly and anonymously. They allow you to complete small tasks directly on-site without having to write an additional function. Furthermore, they are very useful when it comes to adjusting the parameters passed to function calls.<\/p>\n<p>In addition to the language extensions, the standard library was also improved and expanded. Among other things, it now includes, for the first time... <strong>Classes for multithreading<\/strong>.<\/p>\n<p>Even though many innovations of the C++ language are only of limited use for many embedded projects, the newer C++ versions bring so many improvements and simplifications to everyday development that switching is worthwhile.<\/p>\n<p><strong>Stay up to date \u2013 with MicroConsult training courses on C++ and C++11!<\/strong><\/p>\n<p><strong><a href=\"https:\/\/www.microconsult.de\/en\/training-consulting\/training\/modernes-c-die-wichtigsten-sprachneuerungen-von-c11-bis-c20\/aaaadoa\/\" target=\"_blank\" rel=\"noopener\">Register now: Modern C++: Innovations in language syntax, library and templates through C++11 and C++14<\/a><\/strong><\/p>\n<h4>Further information<\/h4>\n<p><a href=\"https:\/\/www.microconsult.de\/en\/training-consulting\/trainings\/programmiersprache-c\/aaaakwu\/\" target=\"_blank\" rel=\"noopener\"><strong>MicroConsult Training &amp; Coaching on the topic of C++<\/strong><\/a><\/p>\n<p><strong><a href=\"https:\/\/www.microconsult.de\/en\/all-training-dates-complete-overview\/\" target=\"_blank\" rel=\"noopener\">For the complete training and coaching program<\/a><\/strong><\/p>","protected":false},"excerpt":{"rendered":"<p>Many embedded projects still use older (and outdated) environments that don&#039;t allow developers to use a new C++ standard. This is a mistake. Not only do programmers miss out on the newly added features, but C++11 also fundamentally improved several aspects.<\/p>","protected":false},"author":10,"featured_media":3139,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false,"footnotes":""},"categories":[15],"tags":[123,132,38,133],"class_list":["post-3138","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-softwareentwicklung_windows_linux_mobile","tag-c11","tag-c11-features","tag-programmiersprache-c","tag-programmierstandard"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Neuen Schwung ins Embedded-Projekt mit C++11 - MicroConsult Academy GmbH<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.microconsult.de\/en\/cpp11_fl\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Neuen Schwung ins Embedded-Projekt mit C++11 - MicroConsult Academy GmbH\" \/>\n<meta property=\"og:description\" content=\"Viele Embedded-Projekte arbeiten noch mit \u00e4lteren (und veralteten) Umgebungen, die den Entwicklern nicht die M\u00f6glichkeit bieten, einen neuen C++ Standard zu nutzen. Das ist ein Vers\u00e4umnis. Denn damit fehlen den Programmierern nicht nur die neu hinzugef\u00fcgten Features &#8211; in C++11 wurden einige Dinge grundlegend verbessert.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.microconsult.de\/en\/cpp11_fl\/\" \/>\n<meta property=\"og:site_name\" content=\"MicroConsult Academy GmbH\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-29T23:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-04T12:48:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/07\/cpp2.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1592\" \/>\n\t<meta property=\"og:image:height\" content=\"1194\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Thomas Batt\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Thomas Batt\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/cpp11_fl\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/cpp11_fl\\\/\"},\"author\":{\"name\":\"Thomas Batt\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/344ea687ec9637d76b9f570373cae5eb\"},\"headline\":\"Neuen Schwung ins Embedded-Projekt mit C++11\",\"datePublished\":\"2026-01-29T23:00:00+00:00\",\"dateModified\":\"2026-02-04T12:48:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/cpp11_fl\\\/\"},\"wordCount\":428,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/cpp11_fl\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.microconsult.de\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/cpp2.jpg\",\"keywords\":[\"C++11\",\"C++11 Features\",\"Programmiersprache C++\",\"Programmierstandard\"],\"articleSection\":[\"Softwareentwicklung (Windows, Linux)\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.microconsult.de\\\/cpp11_fl\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/cpp11_fl\\\/\",\"url\":\"https:\\\/\\\/www.microconsult.de\\\/cpp11_fl\\\/\",\"name\":\"Neuen Schwung ins Embedded-Projekt mit C++11 - MicroConsult Academy GmbH\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/cpp11_fl\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/cpp11_fl\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.microconsult.de\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/cpp2.jpg\",\"datePublished\":\"2026-01-29T23:00:00+00:00\",\"dateModified\":\"2026-02-04T12:48:20+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/344ea687ec9637d76b9f570373cae5eb\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/cpp11_fl\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.microconsult.de\\\/cpp11_fl\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/cpp11_fl\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.microconsult.de\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/cpp2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.microconsult.de\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/cpp2.jpg\",\"width\":1592,\"height\":1194,\"caption\":\"C++\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/cpp11_fl\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.microconsult.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Neuen Schwung ins Embedded-Projekt mit C++11\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#website\",\"url\":\"https:\\\/\\\/www.microconsult.de\\\/\",\"name\":\"MicroConsult Academy GmbH\",\"description\":\"Professionelle Schulungen, Beratung und Projektunterst\u00fctzung\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.microconsult.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/344ea687ec9637d76b9f570373cae5eb\",\"name\":\"Thomas Batt\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6e2cfb0fb9027df3be0b60804d3dd07e5061a84cf3a0fc3a5adcc8c5f114e6b9?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6e2cfb0fb9027df3be0b60804d3dd07e5061a84cf3a0fc3a5adcc8c5f114e6b9?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6e2cfb0fb9027df3be0b60804d3dd07e5061a84cf3a0fc3a5adcc8c5f114e6b9?s=96&d=mm&r=g\",\"caption\":\"Thomas Batt\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"New momentum for embedded projects with C++11 - MicroConsult Academy GmbH","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.microconsult.de\/en\/cpp11_fl\/","og_locale":"en_GB","og_type":"article","og_title":"Neuen Schwung ins Embedded-Projekt mit C++11 - MicroConsult Academy GmbH","og_description":"Viele Embedded-Projekte arbeiten noch mit \u00e4lteren (und veralteten) Umgebungen, die den Entwicklern nicht die M\u00f6glichkeit bieten, einen neuen C++ Standard zu nutzen. Das ist ein Vers\u00e4umnis. Denn damit fehlen den Programmierern nicht nur die neu hinzugef\u00fcgten Features &#8211; in C++11 wurden einige Dinge grundlegend verbessert.","og_url":"https:\/\/www.microconsult.de\/en\/cpp11_fl\/","og_site_name":"MicroConsult Academy GmbH","article_published_time":"2026-01-29T23:00:00+00:00","article_modified_time":"2026-02-04T12:48:20+00:00","og_image":[{"width":1592,"height":1194,"url":"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/07\/cpp2.jpg","type":"image\/jpeg"}],"author":"Thomas Batt","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Thomas Batt","Estimated reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.microconsult.de\/cpp11_fl\/#article","isPartOf":{"@id":"https:\/\/www.microconsult.de\/cpp11_fl\/"},"author":{"name":"Thomas Batt","@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/344ea687ec9637d76b9f570373cae5eb"},"headline":"Neuen Schwung ins Embedded-Projekt mit C++11","datePublished":"2026-01-29T23:00:00+00:00","dateModified":"2026-02-04T12:48:20+00:00","mainEntityOfPage":{"@id":"https:\/\/www.microconsult.de\/cpp11_fl\/"},"wordCount":428,"commentCount":0,"image":{"@id":"https:\/\/www.microconsult.de\/cpp11_fl\/#primaryimage"},"thumbnailUrl":"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/07\/cpp2.jpg","keywords":["C++11","C++11 Features","Programmiersprache C++","Programmierstandard"],"articleSection":["Softwareentwicklung (Windows, Linux)"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.microconsult.de\/cpp11_fl\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.microconsult.de\/cpp11_fl\/","url":"https:\/\/www.microconsult.de\/cpp11_fl\/","name":"New momentum for embedded projects with C++11 - MicroConsult Academy GmbH","isPartOf":{"@id":"https:\/\/www.microconsult.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.microconsult.de\/cpp11_fl\/#primaryimage"},"image":{"@id":"https:\/\/www.microconsult.de\/cpp11_fl\/#primaryimage"},"thumbnailUrl":"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/07\/cpp2.jpg","datePublished":"2026-01-29T23:00:00+00:00","dateModified":"2026-02-04T12:48:20+00:00","author":{"@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/344ea687ec9637d76b9f570373cae5eb"},"breadcrumb":{"@id":"https:\/\/www.microconsult.de\/cpp11_fl\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.microconsult.de\/cpp11_fl\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.microconsult.de\/cpp11_fl\/#primaryimage","url":"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/07\/cpp2.jpg","contentUrl":"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/07\/cpp2.jpg","width":1592,"height":1194,"caption":"C++"},{"@type":"BreadcrumbList","@id":"https:\/\/www.microconsult.de\/cpp11_fl\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.microconsult.de\/"},{"@type":"ListItem","position":2,"name":"Neuen Schwung ins Embedded-Projekt mit C++11"}]},{"@type":"WebSite","@id":"https:\/\/www.microconsult.de\/#website","url":"https:\/\/www.microconsult.de\/","name":"MicroConsult Academy GmbH","description":"Professional training, consulting and project support","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.microconsult.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Person","@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/344ea687ec9637d76b9f570373cae5eb","name":"Thomas Batt","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/6e2cfb0fb9027df3be0b60804d3dd07e5061a84cf3a0fc3a5adcc8c5f114e6b9?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/6e2cfb0fb9027df3be0b60804d3dd07e5061a84cf3a0fc3a5adcc8c5f114e6b9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6e2cfb0fb9027df3be0b60804d3dd07e5061a84cf3a0fc3a5adcc8c5f114e6b9?s=96&d=mm&r=g","caption":"Thomas Batt"}}]}},"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/3138","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/comments?post=3138"}],"version-history":[{"count":2,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/3138\/revisions"}],"predecessor-version":[{"id":10922,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/3138\/revisions\/10922"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/media\/3139"}],"wp:attachment":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/media?parent=3138"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/categories?post=3138"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/tags?post=3138"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}