{"id":2119,"date":"2017-08-15T20:16:48","date_gmt":"2017-08-15T18:16:48","guid":{"rendered":"https:\/\/42nibbles.de\/?p=2119"},"modified":"2017-08-15T20:17:37","modified_gmt":"2017-08-15T18:17:37","slug":"c-introduction-by-odin-holmes","status":"publish","type":"post","link":"https:\/\/42nibbles.de\/?p=2119","title":{"rendered":"C++ introduction by Odin Holmes"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2121\" src=\"https:\/\/42nibbles.de\/wp-content\/uploads\/2017\/08\/Holmes-2_klein_quadrat-250x160.jpg\" alt=\"\" width=\"117\" height=\"75\" \/><strong>We&#8217;re happy to anounce that Odin Holmes is going to start an introduction course for C++ programming as part of the weekly open lab. <\/strong><\/p>\n<p><strong><em>For those of you who don&#8217;t know Odin:<\/em><\/strong><\/p>\n<blockquote><p>Odin Holmes is the author of the kvasir::bit library, a DSL which wraps bare metal special function register interactions allowing full static checking and a considerable efficiency gain over common practice. He is also active in building and refining the tools need for this task such as the brigand MPL library, the kvasir::mpl. He is also a contributor the the SG14 working group and co-organizer of the embo.io bare metal embedded conference. He is also a speaker at most major C++ conferences in Europe and the US.<\/p><\/blockquote>\n<p><!--more--><\/p>\n<p><strong><em>What is covered in the course?<\/em><\/strong><\/p>\n<blockquote><p>Throughout my career I have often noticed that I learned C++ a little bit differently than most people. Coming from a self taught and pretty isolated programming background I learned a lot of things the hard way, yet the absence of easy answers has also paid off in that it forced me to build a firm foundation of knowledge early. In this course I hope to allow attendees to understand the underlying mechanisms on which C++ is built without any detours over its sins of the past.<\/p><\/blockquote>\n<p><strong>The course will start 22nd of August.<\/strong><\/p>\n<p><strong>Part 1<\/strong><br \/>\n&#8211; enough assembler to get yourself into trouble<br \/>\n&#8211; C++ basics: functions, main, type information, custom types, operators, operator overloading, subroutines<br \/>\n&#8211; the concept of cross platform compatibility<\/p>\n<p><strong>Part 2<\/strong><br \/>\n&#8211; arrays pointers<br \/>\n&#8211; concept of a first class citizen<br \/>\n&#8211; operator precedence<br \/>\n&#8211; function overloading<br \/>\n&#8211; pointer casting<br \/>\n&#8211; if statements<br \/>\n&#8211; introduction to the concept of undefined behavior<\/p>\n<p><strong>Part 3<\/strong><br \/>\n&#8211; member functions<br \/>\n&#8211; function templates<br \/>\n&#8211; class templates<br \/>\n&#8211; a better array<br \/>\n&#8211; custom serialization to cout<\/p>\n<p><strong>Part 4<\/strong><br \/>\n&#8211; loops<br \/>\n&#8211; iterators<br \/>\n&#8211; algorithms<br \/>\n&#8211; ranges<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We&#8217;re happy to anounce that Odin Holmes is going to start an introduction course for C++ programming as part of the weekly open lab. For those of you who don&#8217;t know Odin: Odin Holmes is the author of the kvasir::bit library, a DSL which wraps bare metal special function register interactions allowing full static checking [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[23,22],"tags":[],"class_list":["post-2119","post","type-post","status-publish","format-standard","hentry","category-events","category-news"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/42nibbles.de\/index.php?rest_route=\/wp\/v2\/posts\/2119","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/42nibbles.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/42nibbles.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/42nibbles.de\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/42nibbles.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2119"}],"version-history":[{"count":5,"href":"https:\/\/42nibbles.de\/index.php?rest_route=\/wp\/v2\/posts\/2119\/revisions"}],"predecessor-version":[{"id":2125,"href":"https:\/\/42nibbles.de\/index.php?rest_route=\/wp\/v2\/posts\/2119\/revisions\/2125"}],"wp:attachment":[{"href":"https:\/\/42nibbles.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/42nibbles.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2119"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/42nibbles.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}