C++Now 2025 Schedule
Sunday 27th April
1500
1500
1530
1530
1600
1600
1630
1630
1700
1700
1730
1730
1800
1800
Monday 28th April
Break – 10:30 – 11:00
Video Highlighted By

Harnessing constexpr
A Path to Safer C++
Design Trends
Undefined Behavior From the Compiler’s Perspective
A deep dive into what makes UBs so dangerous, and why people rightfully continue to use them anyways
Generic/Metaprogramming
Lunch – 12:30 – 14:30
Pragmatic CMake
How to Avoid Headaches with Simple CMake
Tooling/Utilities
Video Highlighted By

Overengineering max(a, b)
Mixed Comparison Functions, Common References, and Rust's Lifetime Annotations
Generic/Metaprogramming
Break – 16:00 – 16:30
Video Highlighted By

Advanced Ranges
Writing Modular, Clean, and Efficient Code with Custom Views
Generic/Metaprogramming
import CMake; // Mastering C++ Modules
Marching Towards Standard C++ Dependency Management
Tooling/Utilities
0800
0800
0830
0830
0900
0900
0930
0930
1000
1000
1030
1030
1100
1100
1130
1130
1200
1200
1230
1230
1300
1300
1330
1330
1400
1400
1430
1430
1500
1500
1530
1530
1600
1600
1630
1630
1700
1700
1730
1730
1800
1800
Tuesday 29th April
Video Highlighted By

Runtime Polymorphism with Freedom and Performance
External Polymorphism and Type Erasure
Generic/Metaprogramming
Break – 10:30 – 11:00
Video Highlighted By

Zngur
Simplified Rust/C++ Integration
Standard Library
How the Linux User/Kernel ABI Really Works.
Driving the Linux kernel down at the metal.
Performance
Lunch – 12:30 – 14:30
Video Highlighted By

Extending std::execution
Implementing Custom Algorithms with Senders & Receivers
Concurrency
From SIMD Wrappers to SIMD Ranges
Part 1 Of 2
Performance
Break – 16:00 – 16:30
Video Highlighted By

From SIMD Wrappers to SIMD Ranges
Part 2 Of 2
Performance
0800
0800
0830
0830
0900
0900
0930
0930
1000
1000
1030
1030
1100
1100
1130
1130
1200
1200
1230
1230
1300
1300
1330
1330
1400
1400
1430
1430
1500
1500
1530
1530
1600
1600
1630
1630
1700
1700
1730
1730
1800
1800
Wednesday 30th April
Break – 10:30 – 11:00
Video Highlighted By

Making Your Program Faster
On Multithreading and Automatic Compiler Vectorization
Performance
Parallel Range Algorithms
The Evolution of Parallelism in C++
Future C++
Lunch – 12:30 – 14:30
Video Highlighted By

Declarative Style Evolved
Declarative Structure
API Design
Identifying Runtime Errors in Mixed C++ and Rust Codebases Using Formal Methods
How to exhaustively highlight runtime errors at their source for busy software engineers
Embedded
Break – 16:00 – 16:30
CPS in Cmake
Marching Towards Standard C++ Dependency Management
Tooling/Utilities
Computing Correctness
What can formal verification do for us?
Math/Analysis
Video Highlighted By

A View for Any Occasion
Implementing the C++ standard library proposal for any_view
API Design
0800
0800
0830
0830
0900
0900
0930
0930
1000
1000
1030
1030
1100
1100
1130
1130
1200
1200
1230
1230
1300
1300
1330
1330
1400
1400
1430
1430
1500
1500
1530
1530
1600
1600
1630
1630
1700
1700
1730
1730
1800
1800
1830
1830
1900
1900
1930
1930
2000
2000
2030
2030
2100
2100
2130
2130
Thursday 1st May
Video Highlighted By

Streamlining C++ Code
Avoiding Unnecessary Object Creation
Performance
Break – 10:30 – 11:00
Video Highlighted By

Lunch – 12:30 – 14:30 // 2026 Planning 13:00 – 14:00 Bethe Hall
Beyond Sequential Consistency
Leveraging Atomics for Fun and Profit
Performance
Mastering the Code Review Process
Boosting Code Quality in your Organization
Design Trends
Video Highlighted By

Standard Library
Break – 16:00 – 16:30
Video Highlighted By

C++ on Nightmare Mode
Achieving High Performance, Cross-Platform, and Reliable Code
Performance
0800
0800
0830
0830
0900
0900
0930
0930
1000
1000
1030
1030
1100
1100
1130
1130
1200
1200
1230
1230
1300
1300
1330
1330
1400
1400
1430
1430
1500
1500
1530
1530
1600
1600
1630
1630
1700
1700
1730
1730
1800
1800
Friday 2nd May
Video Highlighted By

Building Streams out of Hot Air
Coinductive Types in C++ Senders
Value Semantics
Effective CTest
a random selection of best practices
Tooling/Utilities
Break – 10:30 – 11:00
Generic/Metaprogramming

