From C to C++
Course Description
In this class, you will learn the new or different things in C++ compared to the language you already know and use, C.
The class assumes that you're coming from an embedded environment where you are making the transition from C to C++. Therefore we look only at constructs that are commonly used in constrained environments.
You will first learn about some notable differences between the two languages. Yes, some old habits will have to go.
Next, you will learn about the object-oriented part of C++, classes, and how they work.
This base is followed by various C++ features that make the language easy to use, such as range-based for loops.
There is also a section about dynamic memory management and what options you have in C++, still assuming there are several constraints.
Your next stop is writing and using generic code. You will learn about C++ templates, how to write them and where to apply them.
The final lesson is about a major part of C++, the Standard Template Library, short STL. I present a list of headers that are safe to use in constraint environments. Next, you will learn about some STL elements that will ease your life.
After this class, you have a good understanding of programming C++. Your existing knowledge of C and this class will help you to adapt to C++ quickly.
Course Outline
- From C to C++
- Classes and inheritance
- Language features in C++
- Dynamic memory management
- Template basics
- Interesting parts of the STL
Included in this course are
- A handout as color PDF, which includes all references and an acronyms list;
- The source code for the exercises as well as sample solutions for all exercises as a ZIP-file;
- Certificate of attendance;
- A complimentary copy one of my books
What you can expect from my training courses.
My motto is "Write unique code." I like to reduce the code to the necessary parts. Duplication can be done using templates or functions so that, in the end, each individual piece of code clearly contributes to the code base. Only the unique code reduces maintenance. It gives you more time to focus on your next customer needs.
In order to write unique code in practice, all training courses have a high practical component. Impulses and presentations complement practical exercises. In any case, my sessions are very interactive. I like to hear what the participants think to give the right tips. This creates a training experience in which each participant learns something new and achieves their own learning success. The training components build on each other didactically and in terms of content. And I answer questions at any time.
The live demo parts are an essential part of my lessons. I use the following two tools there:
- Compiler Explorer von Matt Godbolt
- C++ Insights von mir selbst.