Programming in C++17

Course objectives

Delegates will learn:

  • new elements of the C++ language and standard library introduced in the C++17 standard
  • structured bindings for tuples, structs, and user types (tuple protocol)
  • control flow statements with an initialization section
  • use of constexpr if in generic code
  • new features in C++ templates, such as parameter deduction for template classes (CTAD) and fold expressions
  • new types available in the Standard Library std::string_view, std::optional, std::any, and std::variant
  • concurrent algorithms - Parallel STL

Course syllabus

C++17 – new language features

  • Structured bindings
  • if and switch statements with initializers
  • Static inline class members
  • Aggregates in C++17
  • Copy Elision and Return Value Optimisation (RVO)
  • Using new attributes - [[nodiscard]], [[maybe_unused]], etc.
  • Nested namespaces
  • Lambda expressions in C++17
  • constexpr in C++17

C++17 – novelties in templates

  • constexpr if in generic code
  • Class Template Argument Deduction - CTAD
  • Fold expressions
  • Pack expansion in using declaration
  • Template NTTP params with auto placeholder
  • Variable templates with auto
  • New tools in standard library
    • type_traits improvements
    • new tools: std::invoke, etc.

C++17 – what’s new in the Standard Library

  • std::byte
  • std::string_view
  • std::optional
  • std::variant and visitation mechanism
  • Dynamic objects - std::any
  • Handling files in C++17
  • New text conversion functions
  • Multithreading extensions - std::scoped_lock and std::shared_lock

STL in C++17

  • New STL algorithms in C++17
  • Parallel algorithms - Parallel Execution Policies

C++20 – novelties

  • Concepts
  • Ranges library

Prerequisites

Attendance of our standard C++11/14 course or equivalent experience with C++

Course duration

3 days, 8 class hours each
On-site course quote

In-house training course.

Run at your company premises.

Get a quote
On-line course quote

In-house training course.

Delivered live in a virtual classroom.

Get a quote
Upcoming public courses
September 22 - 24, 2025 3490 PLN Enrol

Other dates?

Enquire now