

C++26 Reflection in Practice
Static reflection is one of the major additions coming with C++26, opening up new ways for programs to inspect types and use that information at compile time.
In this session, Lieven De Cock will start with the fundamentals of C++26 Reflection and quickly move into code, using a series of focused examples to explore what is now possible.
You’ll begin by creating a type trait that inspects whether a type contains padding bytes, giving you a foundation in the core Reflection concepts. From there, you’ll explore increasingly interesting applications of the feature.
What You’ll Learn
You’ll explore how to:
Work with the fundamentals of C++26 static reflection
Inspect types and create a type trait that detects padding bytes
Build a universal printer, including support for enumerations
Use Reflection to parse command-line arguments in a scalable way
Examine compiler-generated methods using Howard Hinnant’s table
Use Reflection to generate new types
Build a foundation for exploring more advanced Reflection use cases
The session focuses on small, understandable examples rather than trying to cover everything Reflection can do. The goal is to give you a clear understanding of the fundamentals, show you several practical applications, and give you ideas for where you could take Reflection next.
Who Is It For?
This session is for C++ developers who want to understand what C++26 Reflection makes possible and start experimenting with it in code.
It will be particularly relevant for:
C++ developers interested in modern C++ and upcoming language features
Developers working with or interested in compile-time programming and type introspection
Library and framework developers exploring how Reflection could simplify generic code
C++ engineers looking to understand Reflection before applying it to more complex use cases
No prior experience with C++ Reflection is required. Lieven will establish the fundamentals before moving into the examples.
Recording & Resources
Can’t attend live? All registered attendees will receive the full recording, code, and supporting resources after the session, so you can work through the examples again afterward.
Instructor
Lieven is a passionate software developer, architect, team lead, manager, coach, mentor, with 30 years of experience. He is passionate about C++, software craftsmanship, and clean code. His career started in the text-to-speech domain and then moved to video recognition technology for traffic environments. During the last 16 years he is active in the satellite communication industry.
Since spring 2026, he founded his own consulting company CppDriven, providing services in coaching and workshops for teams on modern C++ and it's Eco-system of tools. He will guide you through the evolution of C++ and mentor you on improving the quality of your code and testing practices.
Lieven also contributes to several open source projects and is the lead developer of the open source IDE Code::Blocks. He is also the lead coach of the Coderdojo division in Ghent, Belgium where he lives. A major focus is on sharing knowledge on C++, coaching people to grow in C++, and maintaining and raising the bar on quality.