C++ Advanced Training: Extended Knowledge for C++ Developers
In view of the increase in software complexity, many applications benefit from advanced C++ constructs; additional support is provided by modifications and extensions of the current C++ standard.
Open Topic Block
- Recap of C++ basics (only if required)
- Encapsulation and access protection
- Association, aggregation and inheritance
- Liskov's substitution principle (LSP)
- Late binding, abstract base classes
- “Non virtual interface” idiom (NVI)
- Interfaces and their implementation
- Specifics of multiple inheritance
- Types as template parameters
- Values as template parameters
- Variations of the open-close principle
- “Curiously recurring template” (CRTP) idiom
- Problems with error cascades in practical application
- Basic principle (short recap if required)
- Best practice for the use of “throw” and “catch”
- Standard exceptions as a base class
- Exceptions and “std::terminate”
- When to use “noexcept”
- “std::move” and ”std::move_if_noexcept”
- Advantages and disadvantages of static typing
- Type-dependent selection of operations
- Keyword-based cast syntax
- Static and dynamic conversions
- Compile time type vs. runtime type and RTTI
- Type customization through constructor
- Type customization through “type cast” function
- Type-safe operator overloads
- Functions in C and C++
- Arguments and return values (in part by recap)
- Function pointers and member function pointers
- Callable objects (aka. functors)
- Lambda functions and “capture” lists
- “Type erasure” using ”std::function”
- Replace “std::bind” with Lambda
- Realization of callbacks via interfaces
- Pointer vs. references (short recap if required)
- Direct use of “new” and “delete”
- “std::unique_ptr” (exclusive ownership)
- “std::shared_ptr” (shared ownership)
- “std::shared_from_this” (extend ownership)
- “std::weak_ptr” (non-owning)
- Custom deleter for “std::unique_ptr”
- Custom deleter for “std::shared_ptr”
- Type conversions between smart pointers
- Brief recap of STL design (only if required)
- Flexibility by separating containers and iterators
- Algorithm overview (C++98, C++11, C++14, ...)
- “std::tuple” and “Structured Binding”
- “std::optional”, ‘std::any’, ”std::variant”
- Runtime code vs. compile time code
- “constexpr”, “consteval” and “constinit”
- Templates as compile-time functions
- Standard type-trait templates
- Type-trait based argument types
- Type-trait based overloading
- C++20 concepts
- Short introduction to threads (only if required request)
- Asynchronous function calls
- Exception handling across threads
- Basic building blocks “promise” and “future”
- Thread pools with “packaged task”
- Synchronization by using mutex
- Deadlocks and race conditions
- Safe unlocking of mutex (RAII idiom)
- Extended behavior guarantees
- Atomic setting and testing
- Use of lock-free algorithms
- Race conditions for smart pointers
- Automatically synchronized streams
- Due to the extensive scope of the C++ language and the associated standard library, not all topics can be covered in equal detail in one dedicated training course. However, all topics will be addressed at least once. Those topics, which are of specific interest for the attendees, will be covered in more detail.
- A practical exercise that is extended step by step completes the training course and will account for about 50 % of the training scope, in continuous blocks of 90 to 120 minutes.
- A sample solution is provided in advance for each step so that the individual subtasks can either be programmed independently or executed as a “side-by-side” review of the differences, while the remaining supervised lab time can be used to deepen your knowledge of C++ topics as required.
- All code examples covered in the training are available online in compilable format for in-depth study. For face-to-face trainings, MicroConsult provides the attendees with PCs in the classrooms. For online trainings and onsite courses, there is remote access to the training environment available. You are also welcome to use your own laptop with your familiar development environment (at least C++20).
You will acquire advanced knowledge of classic object-oriented programming with C++, the use of templates, and the standard library. You will also get an overview of exceptions, metaprogramming and multithreading. You will be able to make an informed choice from alternative approaches based on runtime performance and resource consumption.
The C++ advanced training addresses programmers, software developers, software designers and software
Solid knowledge of C++ basics as covered in our training "C++: Object-Oriented Programming"
Empty do not delete
Onsite training: Individual workshops – tailored precisely to your project
In tailor-made workshops, we combine your specific project tasks with our training offerings. We take your requirements regarding content, time, location, duration, technical environment, and delivery method into account.
We will be happy to answer your questions.
Coaching with added value - expert knowledge for your project success
Our coaching offers have the great advantage that our experts contribute their knowledge and experience directly to your solution process and thus directly contribute to your project success.
| Date | Location | Language | Price | Duration | |
|---|---|---|---|---|---|
*Price per participant, in Euro plus VAT.
Training code: E-C++/FOR
Empty do not delete
All inclusive!
The training price includes:
Lunch, soft drinks, tea and coffee, fruit, snacks,
training documentation and your MicroConsult training certificate.
Seminar location
In-person training:
MicroConsult Academy GmbH
Charles-de-Gaulle-Str. 6
81737 Munich, Germany
+49 89 450617-71
>> Directions and hotel information
Live online trainings:
Take place online via WebEx or Zoom.
Organizational details
Reservation / booking
You can make a non-binding training seat reservation at any time; we will keep the reservation for you for up to max. three weeks before the training starts.
To confirm your participation in a training, please submit a binding booking.
You can make the non-binding reservation as well as the binding booking online on the respective training page (button "Booking" or "Non-binding reservation").
Please also note our Bonus program when booking several trainings and/or participants at once.
Seminar location
MicroConsult Academy GmbH
Charles-de-Gaulle-Str. 6
81737 Munich, Germany
Phone: +49 89 450617-71 >> Directions
Training times (face-to-face training)
Please note:
Some trainings have different start/end times, so please take note of the times we send you with our order confirmation before the training.
One-day training: 08:30 – 17:00 h
Two-day training: Day 1: 9:30 – 17:30 h / Day 2: 8:30 – 17:00 h
Three-day training: Day 1: 9:30 – 17:30 h / Day 2-3: 8:30 – 17:00 h
Four-day training: Day 1: 9:30 – 17:30 h / Day 2-4: 8:30 – 17:00 h
4.5-day training: Day 1: 9:30 – 17:30 h / Day 2-4: 8:30 – 17:00 h / Last day: 8:30 – 13:00 h
Five-day training: Day 1: 9:30 – 17:30 h / Day 2-4: 8:30 – 17:00 h / Last day: 8:30 – 15:00 h
The structure of our live-online trainings is different to face-to-face trainings. Please refer to our registration confirmation for training times.
Training certificate
After the training, you will receive your MicroConsult Training Certificate to document the know-how you acquired.
Training documentation
High-quality, extensive training documentation is included in the training price.
Material
All you have to bring is thirst for knowledge and curiosity. Our seminar rooms are fully equipped with everything needed to run the training - including your training documentation and stationery.
Catering
Hospitality is important to us. That's why we invite you to lunch at a nearby restaurant. We've also taken care of your refreshments: hot and cold drinks are available all day, and so are snacks and fresh fruit.
Training environment
Our training rooms offer an open and friendly atmosphere and feature high-quality and modern training equipment.

Location
The MicroConsult training center is conveniently located and can be reached easily be public transport or by car. Several hotels are in close vicinity.
Click here for directions and hotel information.
Do you need assistance?
Please don't hesitate to contact us. For questions concerning the organization of face-to-face or online trainings, please contact our Service Office, phone +49 (0)89 450617-71. Or send an e-mail to training@microconsult.com.
Bonus program
The group advantage: Binding registration of a group for a training
Number of persons |
Amount of the discount |
| 2 to 3 people | 5 % |
| 4 to 5 people | 10 % |
| from 6 people | 15 % also when split into 2 dates |
| more than 8 people | upon request |
The training bonus: Binding registration of a person for several training courses
Number of training sessions |
Amount of the discount |
|---|---|
| 2 training sessions | 5 % |
| 3 training sessions | 8 % |
| More than 3 training sessions | upon request |
What else is important
This bonus scheme applies exclusively to our open training sessions.
To take advantage of the special conditions, a closed, binding registration and the participation of all booked persons on the agreed dates are required. The basis for the calculation is the current price list on www.microconsult.de.
The individual discount models cannot be combined with one another. A date change by us or the participation of a substitute participant will not affect the terms and conditions.
Valid only for direct bookings through us; our bonus program does not apply to bookings through external training portals.
Please contact us, our Service Office is available at +49 (0)89 450617-71. Or you can also use the Contact form.
Together we will find the optimal solution for you!
Related trainings
Customer testimonials
Do need additional information? Feel free to get in touch!
Melanie Menzl
Organization open trainingsSilke Bluhm
Organization onsite trainings & coachingsNora Pohle
Saleskontakt@microconsult.com
+49 89 450617 - 71
Your benefits at a glance:
- 100 % practical: You will learn what really matters in everyday project work – with real tools and proven methods from experts from the real project world.
- How and where you want: Choose between live online or face-to-face training, conducted in our training center or at your location.
- Small groups, big impact: Maximum 12 participants – so there is room for your questions, your topics, your practice.
- Understandable instead of intellectual: Complex content becomes tangible – with examples, interactive exercises and a clear thread.
- Combinable: Ideal as an individual seminar or part of a training series.
- Sustainable learning success: You will receive high-quality documents for further work.
- Flexible participation: Cancel or rebook free of charge up to 3 weeks before the appointment – your booking remains transferable.