Skip to content
  • Sign In
  • Try Now
View all events
C++

What’s New in Modern C++

Published by Pearson

Beginner to advanced content levelBeginner to advanced

Get Up To Speed with the Latest Developments in C++

  • Learn how to get the most out of modern C++
  • Use new C++ language features effectively
  • Discover new capabilities available in the C++ library

The C++ language and standard library have seen a huge leap forward in the last few years. Largely inspired by Boost, the C++ standard has introduced support for lambdas, multithreading, vastly improved object construction mechanisms, and much more. This course takes a targeted look at the key new features offered by C++11 onwards. Learn about major enhancements including:

  • Movability and R-Value References
  • Improved Initialization
  • Smart Pointers
  • Functional Programming
  • Multithreading and more

What you’ll learn and how you can apply it

  • Movability and object management
  • Functional programming
  • Multithreading and parallel processing
  • Efficient initialization

And you’ll be able to:

  • Define and use lambdas
  • Implement move constructors and move assignment
  • Create and manage threads
  • Implement efficient generic code

This live event is for you because...

  • You are a C++ programmer and you want to upskill your knowledge
  • You want to learn about the new features available in C++

Prerequisites

  • Basic C++ programming experience

Course Set-up

  • Optional: Visual Studio 2022 (Community, Professional, or Enterprise), including the C++ workload

Recommended Preparation

Recommended Follow-up

Schedule

The time frames are only estimates and may vary according to how the class is progressing.

Segment 1: General C++ Language Enhancements (20 minutes)

  • Using auto and decltype
  • Using constexpr
  • Nullability
  • Static asserts

Segment 2: Movability and R-Value References (50 minutes)

  • L-values, r-values, and r-value references
  • Movability
  • Move constructors and move assignment operators
  • Variadic templates
  • Support for movability in the STL
  • Break (10 minutes)

Segment 3: Improved Initialization (30 minutes)

  • Uniform initialization syntax
  • Using std::initializer-list
  • Support in the STL

Segment 4: Smart Pointers (30 minutes)

  • Using std::shared_ptr
  • Using std::weak_ptr
  • Using std::unique_ptr
  • Break (10 minutes)

Segment 5: Functional Programming (50 minutes)

  • Lambdas
  • Binding
  • Closures and variable capture
  • Using std::function
  • Using lambdas with the STL

Segment 6: Additional Techniques (30 minutes)

  • Multithreading
  • Fold expressions in templates
  • Parallel algorithms
  • Concepts
  • Ranges

Q&A (10 minutes)

Your Instructor

  • Andy Olsen

    Andy Olsen is a freelance consultant, instructor, and developer with more than 30 years of experience in IT. Andy began his professional career as a C/C++ developer and has also worked in Rust, Go, and other languages as the years passed. Andy is actively involved in a wide range of technologies including full-stack development, cloud native applications, data science, and more. Andy is passionate about technology education and runs training courses around the world across diverse market sectors.