Trainings Details
This 3-day training class is for you, if you or your team would like to further your C++ knowledge.
The training discusses:
- Runtime Polymorphism
- C++ Idioms and Techniques
- Avanced Template Programming Techniques
- Concurrency Through Multithreading
- One Definition Rule, Managing Memory
- Guidelines, Dos and Don'ts
- Design Patterns
Trainings Agenda
Day 1:
- Runtime Polymorphism
- Virtual and Overriden Member Functions
- Interfaces
- Creating polymorphic pointers
- Real-world usage scenarios
- C++ Idioms and Techniques
- RAII
- Erase and remove
- PIMPL
- SFINAE
- Other idioms
Day 2:
- Advanced Template Programming Techniques
- Overview
- Templates – template specialization
- Templates – explicit instantiation
- Templates – explicit instantiation of a constructor example
- Templates – extern template declaration
- Templates – partial specialization
- Templates – inheritance
- Object memory alignment
- C++ Standard Library - usage and best practice
- std::optional
- Lambda expressions - usage
- One Definition Rule
- The Rule of Three and Five
- Guidelines, dos and don'ts
- Source code exercises
- Q&A
Day 3:
- Concurrency through multithreading in C++
- Creating Threads
- Mutexes
- Locking Mechanisms
- Avoiding Deadlocks and Race Conditions
- Futures and promises
- Atomics
- Consuming OS interfaces
- Introduction to design patterns
- Overview
- Deciding on which pattern to use
- Observer, visitor and other design patterns
- Source code exercises
- Q&A
- Project