|
|
|
|
|
|
|
ac6 >> ac6-training >> Programming >> Languages >> Classic and Modern C++ for Embedded Systems |
![]() |
![]() |
![]() |
![]() |
L30 | Classic and Modern C++ for Embedded Systems |
![]() |
Objectives
|
Exercise: | Understand function mangling | |
Exercise: | Function inlining | |
Exercise: | Volatile variable handling |
Exercise: | Declaring classes and methods | |
Exercise: | Working with default, copy and parameterized constructors | |
Exercise: | Understand the differences between composition and aggregation |
Exercise: | The assignment operator | |
Exercise: | overloading operators |
Exercise: | Understand inheritance |
Exercise: | Creating constant, mutable, persistent and ROMable objects |
Exercise: | Handle errors using exceptions | |
Exercise: | Unexpected exceptions management |
Exercise: | Generic classes and functions | |
Exercise: | Understand virtual methods by subclassing a generic Device class | |
Exercise: | Understand multiple inheritance and virtual bases |
Exercise: | Using auto to declare variables |
Exercise: | Using modern C++ keywords | |
Exercise: | Create a singleton using modern C++ |
Exercise: | Using the new for loop syntax | |
Exercise: | Using std::tuple | |
Exercise: | Move semantics performance advantages on embedded systems |
Exercise: | Using the new elements added to the standard library | |
Exercise: | Using std::optional |
Exercise: | Using String class and String literals |
Exercise: | Blink synchronously 4 Leds |
Exercise: | Understanding lambda | |
Exercise: | Using lambda to modify and display a vector |
Exercise: | Override new and delete | |
Exercise: | Understanding unique and shared pointers |