August 15 2017

C++ introduction by Odin Holmes

We’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’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 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.

What is covered in the course?

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.

The course will start 22nd of August.

Part 1
– enough assembler to get yourself into trouble
– C++ basics: functions, main, type information, custom types, operators, operator overloading, subroutines
– the concept of cross platform compatibility

Part 2
– arrays pointers
– concept of a first class citizen
– operator precedence
– function overloading
– pointer casting
– if statements
– introduction to the concept of undefined behavior

Part 3
– member functions
– function templates
– class templates
– a better array
– custom serialization to cout

Part 4
– loops
– iterators
– algorithms
– ranges



Copyright 2018. All rights reserved.

Veröffentlicht15. August 2017 von Simon in Kategorie "Events", "News

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.