Skip to main content

Modern C++

— New features in C++11/C++14/C++17/C++20 —

Who should attend?

Software developers who want to get acquainted with the new language features of the C++ language standards C++11, C++14, C++17 and C++20.

Prerequisites

A good working knowledge of the classical language features of C++98/03 including templates. Potentially existing prior knowledge gaps can be filled with a customised version of the course “C++ Refresher”.

Duration

3 days

Course Description

The new language standards since C++11 increased the scope of the C++ programming language considerably. Apart from many innovations, which mainly simplify the reading and writing of programs, the language standards also introduce new concepts, which require a good understanding of their objective and behaviour, before they can be applied beneficially. This course starts from classical C++ and shows which new language
features have been introduced in C++11, C++14, C++17 and C++20. Additionally Smart Pointers, as part of the C++ standard library, are covered in this course. Further innovations of the C++ standard library are subject of other courses, such as “C++ Multithreading”.


Course Outline

  • Uniform Initialisation
  • Range-Based Loops
  • Automatic Type Deduction (auto, decltype)
  • Scoped Enumerations
  • Rvalue References and Move Semantics
  • Constant Expressions (constexpr)
  • Lambda Functions and Lambda Captures
  • Special Member Functions
  • Constructor Delegation
  • Inheriting Constructor, override and final
  • Variadic Templates
  • Perfect Forwarding
  • Smart Pointers (unique/shared/weak_ptr)
  • Binary Literals and Digit Separators
  • Raw String Literals
  • User Defined Literals
  • Explicit Type Conversion
  • noexcept
  • static_assert
  • Attributes
  • Variable Templates
  • Automatic Type Deduction for Template Classes
  • Variable Initialisation in if and switch
  • Data Type byte
  • Type Traits
  • constexpr if
  • Template Parameter List for Generic Lambda Functions
  • Designated Initializers
  • Concepts
  • 3-Way-Comparison (“Space Ship Operator”)
  • Modules
  • Compile Time Support Extensions

The course content is not quite what you are looking for?


What customers say:

"Well-structured from a teaching perspective, and executed with absolute precision!"
"Excellent course instruction!"
"Pleasantly calm, knowledgeable, and open to questions."
"I really liked the explanation of the background."
"With 'Design Patterns for Embedded Systems,' Mr. Nieratschker has developed a highly informative, interactive, and engaging training course. Thanks to the puzzle questions that build on one another, the course feels like a mental scavenger hunt: the Da Vinci Code for programmers."
"I've never taken a course that was so perfectly structured!!! SKT++."
"Clear, visual explanations and a lot of patience when it comes to practical applications."
"A must-read for every object-oriented programmer!"
"A very good approach to deriving the patterns."
"All participants were 'brought up to speed,' since their levels of knowledge varied greatly."
"It really helped me make progress."
"Very good, practical examples."
"The instructor knows how to engage the students."
"Complex topics explained in a way that's super easy to understand."
"Knowledge of the instructor far above the trained theme!"
"The thing I liked most was the instructor's teaching skills!"
"The things I liked most were the teacher's clarity both in presentation and spoken English."
"Examples from real world, not like e.g. wikipedia."
"We were 'forced' to think ... Our attention was up all the time, which was great."
"What I liked in particular was the deep knowledge of the instructor and the sense of humor."
"What I liked in particular was the way we discovered patterns."

SKT Nieratschker · Karl Nieratschker · Joseph-Maria-Lutz-Str. 7 · D-85293 Reichertshausen · Tel. +49 (0) 8441 490210 · office@skt-nieratschker.com