Loading…
Venue: Colorado A clear filter
arrow_back View All Dates
Monday, September 14
 

08:30 MDT

Profiles for simplicity and guarantees
Monday September 14, 2026 08:30 - 10:15 MDT
The C++ community is growing fast. C++ is being used in critical applications. C++ can be used in ways that ensures correctness, simplicity, performance, and maintainability. How can we ensure that it is used is such desirable ways? How can we teach new and old C++ developers to do so?
The general strategy is called “subset of superset” and is based on the idea that by extending (“supersetting”) by adding libraries, we can simplify static analysis to where we can remove undesirable uses (“subsetting”) without damaging expressiveness or efficiency. Where run-time checks are necessary, such as to catch out-of-range accesses in hardened libraries, static analysis can be used to minimize the number of checks.
The strategy is supported by the “Profiles” framework, that allows us to require or suppress specific sets of guarantees, called profiles.
As examples, I show how to eliminate uninitialized-object errors and container-invalidation errors (a kind of dangling pointer errors) using the profiles framework and implementations of the “Initialization” and “invalidation” profiles. Both with zero run-time cost.

Presenters
avatar for Bjarne Stroustrup

Bjarne Stroustrup

Professor, Columbia University

Monday September 14, 2026 08:30 - 10:15 MDT
Colorado A

10:15 MDT

Conference Group Photo
Monday September 14, 2026 10:15 - 10:30 MDT
Follow the crowd immediately after the opening keynote to be in the conference photo. Be part of conference history!

Photo will be taken by CppCon's official conference photographer, Jonathan Phillips.
Monday September 14, 2026 10:15 - 10:30 MDT
Colorado A

11:00 MDT

C++26: A Curated Tour of What's New
Monday September 14, 2026 11:00 - 12:00 MDT
The next evolution of C++ has officially arrived, bringing a massive wave of enhancements to both the core language and the Standard Library. But with hundreds of committee proposals officially baked into the standard, where do you start? Continuing the tradition from previous releases, this fast-paced session delivers a comprehensive look at the new and updated features that define C++26.

We won’t get bogged down in the minutiae of every single ISO proposal—covering everything in detail is impossible in just one hour. Instead, you'll get a high-level, curated overview of the most impactful changes, from the major game-changers down to the small quality-of-life gems. If you want to get up to speed with the new standard and see how it will shape your codebase, this session is for you.

The session will touch on the following core language and Standard Library topics.

C++26 core language changes include - Reflection - Contracts - Unnamed placeholder variables - = delete("reason"); - Pack indexing - #embed - constexpr exceptions, constexpr placement new - Variadic friends - ...

C++26 Standard Library changes include - Execution control library - New libraries such as , , , , , and more - std::inplace vector: dynamically-resizable vector with fixed capacity - std::philox engine: counter-based random number engine - std::text_encoding: text encodings identification - More constexpr for containers and container adaptors - Saturation arithmetic - New SI prefixes - Printing Blank Lines with std::println() - ...

Where applicable, I’ll point you toward other specialized CppCon sessions for those ready to dive even deeper into specific topics.

Presenters
avatar for Marc Gregoire

Marc Gregoire

Software Project Manager, Nikon Metrology
MARC GREGOIRE is a software project manager and software architect from Belgium. He graduated from the University of Leuven, Belgium, with a degree in "Burgerlijk ingenieur in de computer wetenschappen" (equivalent to a master of science in engineering in computer science). The... Read More →
Monday September 14, 2026 11:00 - 12:00 MDT
Colorado A

14:00 MDT

Familiar C++ Patterns That Fail at Scale and the Design Shifts That Prevent Them
Monday September 14, 2026 14:00 - 15:00 MDT
Some of the most expensive C++ bugs are not caused by obscure language features. Instead, they emerge from code that looks reasonable: shared ownership that quietly extends lifetimes, singletons that become invisible dependencies, and performance-driven decisions that harden into architecture.

This talk examines these common design-level failure patterns in large-scale C++ systems. We cover three concrete design shifts:

Lifetimes: Shifting from shared ownership to explicit lifetime boundaries. Coupling: Shifting from implicit global coupling to injected dependencies. Interfaces: Replacing permissive APIs with constrained interfaces using std::span, std::optional, std::variant, and strong types.

Each shift is presented with the failure pattern it addresses, the solution, and the design rule it yields. Attendees will leave with practical heuristics for designing systems that are easier to reason about, test, and evolve: all grounded in real-world failures and the redesigns that fixed them.

Presenters
avatar for Divya Chandrasekar

Divya Chandrasekar

Software Engineering Team Lead, Bloomberg
Divya Chandrasekar is an Engineering Leader at Bloomberg, where she leads FXGO Orders, a trading platform within FXGO. She holds a master’s degree in Computer Engineering from the University of Florida and has held multiple engineering roles at Bloomberg. With a strong technical... Read More →
avatar for Devpriya Dave

Devpriya Dave

Devpriya Dave is a software engineer on the FX Options team at Bloomberg. While at Georgia Tech obtaining her master's degree, she helped design and build the system behind Georgia Tech's Machine Learning for Trading online course. She is passionate about STEM mentorship and is always... Read More →
Monday September 14, 2026 14:00 - 15:00 MDT
Colorado A

15:15 MDT

The Latency Slippage: Understanding the Hidden Costs of Caching for Low Latency C++
Monday September 14, 2026 15:15 - 16:15 MDT
Choosing cache-friendly data structures is a well-known optimization, but it's rarely the whole story. This talk goes deeper, exploring the hardware mechanics that dictate real-world performance and showing where significant gains are still left on the table.

We'll start from the ground up: what actually happens inside the cache hierarchy when your code issues a memory read or a software prefetch? Understanding the hardware lets us answer, when you should prefetch manually, and when you should trust the hardware prefetcher.

From there, we'll examine the invisible cost of multi-core C++. Cache coherency protocols (MESI/MOESI) can silently degrade performance through false sharing, RFO stalls, and coherency storms. We'll walk through how to diagnose these issues using hardware performance counters and how to eliminate them.

Additionally, we will contrast these behaviors across the data cache (DCache) and instruction cache (ICache), and analyze how Translation Lookaside Buffers (TLBs) impact overall memory read latency.

Finally, we'll tie it all together by combining hardware insight with application profiling data to arrive at practical strategies for low latency C++, packaged as an application-aware memory allocator.

Presenters
avatar for Sanchit Gupta

Sanchit Gupta

Low Latency C++ Developer, Graviton Research Capital
Sanchit Gupta graduated from Indian Institute of Technology, Madras with Honours in Bachelors of Technology in Computer Science and Engineering. Since graduating, Sanchit has worked for Graviton as a Low latency Software Developer
Monday September 14, 2026 15:15 - 16:15 MDT
Colorado A

16:45 MDT

Back to Basics: const, constexpr, consteval
Monday September 14, 2026 16:45 - 17:45 MDT
const is one of the oldest and most widely used features in C++, yet many developers still struggle with the subtle differences between const , constant expressions, constexpr , and consteval .

In this talk, you will learn how compile-time constants evolved in modern C++, starting with const and continuing through the features introduced since C++11. You will see what constant evaluation really means, what the compiler is allowed to execute during compilation, and where the limits still are today.

Using practical examples, we will explore when const is enough, when constexpr is needed, and how compile-time and runtime execution interact in modern C++. We will also look at common pitfalls, surprising behavior, and cases where compile-time programming can either improve code or make it harder to understand.

Finally, you will see how features such as consteval and std::is_constant_evaluated influence correctness, testing, and maintainability.

By the end of this talk, you will have a deeper understanding of constant evaluation and know how to use modern compile-time features more effectively in your code.

Presenters
avatar for Andreas Fertig

Andreas Fertig

C++ Trainer & Consultant
Andreas Fertig is an expert C++ trainer and consultant who delivers engaging and impactful training sessions, both on-site and remotely, to teams around the globe. As an active member of the C++ standardization committee, Andreas contributes directly to shaping the future of the language... Read More →
Monday September 14, 2026 16:45 - 17:45 MDT
Colorado A

20:30 MDT

Committee Fireside Chat
Monday September 14, 2026 20:30 - 22:00 MDT

Moderators
avatar for Herb Sutter

Herb Sutter

Technical fellow, Citadel Securities

Presenters
avatar for Andrei Alexandrescu

Andrei Alexandrescu

Principal Research Scientist, NVIDIA
Andrei Alexandrescu is a Principal Research Scientist at NVIDIA. He wrote three best-selling books on programming (Modern C++ Design, C++ Coding Standards, and The D Programming Language) and numerous articles and papers on wide-ranging topics from programming to language design to... Read More →
avatar for Bjarne Stroustrup

Bjarne Stroustrup

Professor, Columbia University

avatar for Braden Ganetsky

Braden Ganetsky

Braden Ganetsky graduated from the University of Manitoba with a degree in mechanical engineering, fueled by his passion for mechanical puzzles. During his final year of school, when all classes and activities were remote, he discovered C++ and has been hooked ever since. He interned... Read More →
avatar for Gabriel Dos Reis

Gabriel Dos Reis

Principal Software Engineer, Microsoft
Dr. Gabriel Dos Reis is an Architect for Visual Studio at Microsoft, working in the area of large scale software construction, neurosymbolic tools and techniques.  His contributions to C++ include scalable generic programming, pioneering compile-time computation, language support... Read More →
avatar for Guy Davidson

Guy Davidson

Head of Engineering, Six Impossible Things Before Breakfast
Guy Davidson is the convenor of the C++ Standards Committee.

He is also the Head of Engineering at Six Impossible Things Before Breakfast. Before that, he was the Head of Engineering Practice at Creative Assembly, one of the UK's oldest and largest game development studios.

Guy sta... Read More →
avatar for Jeff Garland

Jeff Garland

CrystalClear Software
Jeff Garland has worked on many large-scale, distributed software projects over the past 30+ years. The systems span many different domains including telephone switching, industrial process control, satellite ground control, ip-based communications, and financial systems. He has written... Read More →
avatar for Nina Ranns

Nina Ranns

The Standard C++ Foundation
Nina Dinka Ranns is a C++ consultant and a long-time member of the ISO C++ standardization committee, where she has contributed since 2013. She currently serves as ISO C++ committee vice convener and as a director of the Standard C++ Foundation.

Throughout her career, she has worked on systems ranging from telecommunications infrastructure to cloud-based security products. As a consultant, she has collaborated with Edison Design Group, Qt Group, Bloomberg, and the C++ Alliance on compiler technology, library design, and the... Read More →
avatar for Ruslan Arutyunyan

Ruslan Arutyunyan

Senior Middleware Development Engineer, Intel
Ruslan is a Senior Middleware Development Engineer specializing in parallel and threading runtimes. He joined Intel in 2017 and has experience in the autonomous driving domain, where he led the development of two libraries. Currently, Ruslan is the lead developer of oneAPI DPC++ library... Read More →
avatar for Timur Doumler

Timur Doumler

Senior Software Engineer, Citadel Securities
Timur Doumler is a software engineer specialising in low-latency and real-time C++. He works at Citadel Securities and is an active member of the ISO C++ standard committee, where he has (co-)authored many successful proposals including [[assume]], std::inplace_vector, and contract... Read More →
Monday September 14, 2026 20:30 - 22:00 MDT
Colorado A
 
Share Modal

Share this link via

Or copy link

Filter sessions
Apply filters to sessions.
Filtered by Date -