Advanced C++

Since being standardized in 1998 C++ has evolved considerably with updates in 2003 (C++03), 2011 (C++11), 2014 (C++14) and most recently in 2017 (C++17).  In particular the C++11 release with Rvalues, move semantics, and lambdas has both revolutionized the language and completely changed recommended practices.  This course looks specifically at how you as an experienced developer can take advantage of the best new modern features in the language.

We will look in depth at more elegant ways to structure your programs, modern design patterns, and discuss how CPU and memory hardware design influence how we write our programs.  Working with all the latest features of the language is fundamental to improving readability, performance, and maintainability of your code.  This class will ensure you’re in the best position as a developer, now and in the future. 

    Target audience

    This course is aimed at those who have a working knowledge of C++ and want to learn to apply the language in a more powerful way with a focus on the new features from C++11, 14 and 17.


    Participants should be comfortable with programming in C++. Some previous experience with templates, and concurrent programming is strongly suggested.

    What you will learn

    Day 1

    • Readability and Elegance
    • Types and type inference
    • References
    • Smart pointers
    • Exceptions
    • Templates
    • Function pointers, functors and lambdas

    Day 2

    • CPU and Memory Architecture
    • Performance Measurements
    • Concurrent Programming
    • Memory Models
    • Determinism
    • Synchronization primitives
    • Modern Concurrent Patterns

    Related articles

    • Configuring CMake for success

      One common question I get on our Advanced C++ course is how the project structure should look, e.g. should I split the source code into multiple directories? How can I introduce unit tests? Should I compile into multiple libraries?

      Each project is unique in what it needs, so in this blog post I’ll go over my general preferred setup and then look at how we adopted it for C++ on Android where we also interface with Kotlin/Java.

      Read more

    Course info

    Course code: T360
    Duration: 2 days
    Price: 21 500 SEK
    Language: English

    Course schedule

    There are no set dates for this course at the moment, but contact us and we'll make arrangements!



    Related courses

    • GPGPU Computing in C++ with CUDA

      Category: C++
      Duration: 2 days
      Price: 24 500 SEK
    • GPGPU Computing in C++ with AMP

      Category: C++
      Duration: 2 days
      Price: 24 500 SEK

    Contact us for details

    +46 40 61 70 720

    All prices excluding VAT