What’s New in C++23

This course takes a detailed look at what’s new in C++23, both in terms of language techniques and library enhancements. We’ll explain the purpose of the new features, explore the nuances, and see how to apply them properly. We also take a sneak preview of what to expect in C++26. The course is designed to cover 2 full days. The course can also be scheduled as a 1-day event if you want to select a subset of topics.

Course objectives

  • Core language changes
  • Reflection and metadata enhancements
  • Additional features for containers, algorithms and views
  • Concurrency and coroutines updates
  • Miscellaneous library enhancements
  • Glimpse into C++26

Prerequisites

  • Proficient C++ programmer
  • Familiarity with C++ up to version 20

Andy Olsen - author of the course

Andy is a freelance consultant and instructor based in the UK, working mostly in the City of London and Oxford. Andy has been working with .NET since the Beta 1 days and has extensive experience in many facets of .NET development including WCF, WPF, WF, ASP.NET MVC Web development, and mobile applications. Andy has designed and written many Microsoft Official Curriculum courses in the last decade, and has been engaged as author and technical reviewer with Apress on some of their biggest selling books.

 

Setting the Scene

  • Overview of C++23 goals and non-goals
  • Evolution from C++20
  • Compiler support (GCC, Clang, MSVC)

Core Language Changes

  • Changes to the type system (explicit, auto, typeof)
  • Enhancements with this pointer
  • Static functors
  • Bitfield enhancements
  • Preprocessor enhancements
  • Exception management

Reflection and Metadata Enhancements

  • Constexpr enhancements
  • Type traits and utilities

Additional Features for Containers, Algorithms and Views

  • New containers and capabilities
  • New algorithms
  • Ranges improvements

Concurrency and Coroutines Updates

  • std

Miscellaneous Library Enhancements

  • Formatting
  • Printing
  • Date, time, and calendar
  • std

Glimpse into C++26

  • Contracts
  • Reflection
  • Concurrency and parallelism
  • Additional bits and pieces

1. Hva lærer jeg på dette kurset?
Kurset gir deg en grundig og praktisk gjennomgang av alle viktige nyheter i C++23, både i språkkjernen og standardbiblioteket. Du lærer blant annet å:

  • Bruke nye språkfunksjoner i C++23
  • Forstå designmålene bak endringene i standarden
  • Ta i bruk forbedringer i containers, ranges, views og algoritmer
  • Jobbe med de nyeste oppdateringene innen concurrency og coroutines
  • Utnytte metadata og refleksjonsrelaterte forbedringer
  • Forberede deg på endringer som kommer i C++26

2. Hvem passer kurset for?
Kurset passer for erfarne utviklere som jobber med moderne C++ og ønsker å holde seg oppdatert på språkevolusjonen:

  • Senior C++-utviklere
  • Systemprogrammerere
  • Performance-orienterte utviklere (spill, embedded, finans, real-time osv.)
  • Arkitekter som vedlikeholder større C++-kodebaser
  • Utviklere som allerede bruker C++17 eller C++20 og ønsker å oppgradere kompetansen sin

3. Trenger jeg forkunnskaper?
Ja, du bør være:

  • Komfortabel med moderne C++ (C++17/20)
  • Vant til STL, templates, lambdaer og moderne idiomer

Kurset er ikke egnet for nybegynnere.

4. Hva er hovedtemaene i kurset?

Core language changes
Nye syntaktiske forbedringer, utvidelser og språkfunksjoner.

Reflection & metadata
Introduksjon til refleksjonsteknikker og metadataforbedringer som er på vei inn i språket.

Containers, algorithms & views
Forbedrede ranges, nye algoritmer og oppdateringer til eksisterende datastrukturer.

Concurrency & coroutines
Oppdateringer som gjør moderne parallellprogrammering mer robust.

Miscellaneous library updates
Mindre, men viktige forbedringer, utilities og ergonomiske endringer.

Glimpse into C++26
Et blikk på hva som er under utvikling i WG21 og hva som trolig kommer i neste standard.

5. Er kurset praktisk?
Ja, du får jobbe med:

  • Kodeeksempler basert på nye C++23-funksjoner
  • Sammenligning av tidligere standarder vs. C++23
  • Refaktorering av eksisterende idiomer til mer moderne alternativer
  • Bruk av nye biblioteksfunksjoner i praksis

6. Hvilke verktøy og miljøer brukes?
Typisk brukes:

  • Oppdatert C++-kompilator med C++23-støtte (Clang/GCC/MSVC)
  • CMake eller annet moderne byggsystem
  • IDE som Visual Studio, CLion eller VS Code

7. Får jeg kursbevis?
Ja, alle deltakere får kursbevis etter fullført kurs.

8. Hvorfor bør jeg ta dette kurset?
Fordi C++23 inneholder forbedringer som:

  • Gjør koden enklere, tryggere og raskere
  • Fjerner boilerplate og stress rundt templates og concurrency
  • Forenkler moderne C++-arbeidsflyt
  • Gir deg innsikt i hva som kommer i fremtidige standarder
  • Kurset hjelper deg å utnytte språket på en mer effektiv og fremtidsrettet måte.

Other relevant courses

2. February
5 days
Classroom Virtual
19. January
5 days
Classroom Virtual
16. February
5 days
Classroom Virtual
4. March
3 days
Classroom Virtual