Loading

Advanced Modern C++ Training

Boost Your Productivity with Modern C++

Advanced Modern C++ Training

by Dr. Peter Gottschling

Mastering C++ is an intriguing challenge that can be utterly satisfactory. This complex, multi-paradigm language allows us to write software of highest performance with well-structured and smoothly growing programs. The power of C++ was tremendously raised with the new features of C++11 and C++14 such as type deduction, lambdas, rvalues, initializer lists – to name only a few. And C++17 adds some more interesting feature like folding and structured binding.

To tackle this challenge, I offer this intensive training mainly based on my book “Discovering modern C++”. You will see, discuss, and apply a wide spectrum of advanced features and dive into the world of modern C++ programming. Open courses are four days long and inhouse training is available from three to five days.

Target Audience

The course is designed for software developers who aim for excellent software characterized by intuitive interfaces and maximal performance. There is a chance that after this seminar you are still not a perfect C++ programmer. My goal for this week is that you can afterwards program perceivably more productively. That your programs are usable more flexibly and nonetheless explore the hardware as efficiently as possible. That your software becomes clearer and simpler and thus more readable and more maintainable. That the cooperation with your team will also be more productive.

Prerequisites

Basic knowledge in C++ and experience in practice are required.

Topics

  • New techniques
    • Range-based for-loops (C++11)
    • RValues and move semantics (C++11)
    • Initializer lists (C++11)
    • {} vs. ()? (C++11)
    • Folding (C++17)
  • Templates (generic programming)
    • Function templates
    • Class templates
    • Variadic Templates (C++11)
    • Concepts (C++20?)
    • Specialization
    • Template arguments that are not types
    • Functors
    • Safe downcast without overhead
  • Type deduction in detail
    • Template arguments
    • auto (C++11)
    • Structured binding (C++17)
    • decltype (C++11)
    • decltype(auto) (C++14)
    • Deduced return type (C++14)
    • Deduced class types (C++17)
  • Lambda (C++11)
    • Foundations
    • Generic lambdas (C++14)
    • Extended capture (C++14)
  • Standard Template Library
    • Iterator concept
    • Containers (partially C++11)
    • Functions (partially C++11)
    • Concurrent algorithms (C++17)
  • Meta-programming
    • Let the compiler compute
    • Providing type informations
    • Expression templates
    • constexpr if (C++17)

As extra service I offer you—interest and non-disclosure of company secrets provided—to discuss and refactor your own software (as far as time allows). We will not aim for the perfect program but consider for real-world software examples various implementation options and discuss their adventages and disadvantages.

Inhouse Training

This advanced course is also available as inhouse training. You can choose between three, four, and five days. The three day version shortens or skips some topics. Three days leave also less time for exercises where five days allow for more. Contact us by mail or with the contact form.

Trainer

Peter Gottschling is the author of the advanced C++14 book “Discovering Modern C++”, the Matrix Template Library 4, co-author of the Boost Graph Library and other scientific libraries. He is vice-chair of DIN’s programming language group and was (the last) head of the German delegation in the ISO committee for C++ standardization. He is managing director of SimuNova and taught C++ in numerous profesional trainings and academically at TU Dresden, TU Berlin and Indiana University.

Price

  • Regular: 1500€
  • Early bird discount: 1389€
  • Included in the price are:
    • Course material;
    • Lunch and coffee-break refreshments
    • Social events
  • 19% VAT will be added (applies always, unfortunately).
  • Group prices on request.

For the overview of planned courses and for registration please go back to the main training page.

Contact

Feel free to contact us at any time by mail or phone.

  • Our Address

    SimuNova
    Nordplatz 9
    D-04105 Leipzig

  • Contact

    E-Mail: seminar@simunova.com
    Telefon: +49 (0)341 6406 1471
    Fax: +49 (0)341 2493 4621

  • Company

    Managing Director: : Dr. Peter Gottschling
    Legal Domicile: Leipzig
    Commercial registry: HRB 33428 (Leipzig)

  • Tax ID Numbers

    National: 203/118/06581
    International: DE273436939

Contact Form

Ask us about our seminars!

Back