CppCast - podcast cover

CppCast

Timur Doumler & Phil Nashcppcast.com
Every two weeks, or so, we sit down with guests from the C++ community to discuss the latest news and what they have been up to. Find us at cppcast.com

Episodes

Standard Library Hardening

Louis Dionne joins Phil and Timur. Louis talks to us about his role as code owner of libc++ (clang's standard library implementation) and the standard library hardening proposal that was just accepted into C++26, why this is important, and what you can do even today. News GDC 2025: How Build Insights Reduced Call of Duty: Modern Warfare II’s Build Times by 50% C++ Core Guidelines issue to remove .h recommendation for headers Reddit discussion “Note to the C++ standards committee members” - Bjarn...

Apr 11, 202558 minEp. 396

News and Catch-up

Timur and Phil return after an extended break with news and updates News Bjarne Stroustrup on How He Sees C++ Evolving Conferences round-up: ACCU Conference 2025 C++ Now 2025 C++ on Sea 2025 C++ North 2025 CppCon New Meetups: Singapore C++ USers Group ACCU Cambridge Links "Contracts and Safety for C++26" - C++ London January event "Not Your Grandparent's C++" - Phil's ACCU Cambridge talk...

Mar 21, 202543 minEp. 395

Tease Your C++ Brain

Anders Knatten joins Phil and Timur. Anders reminds us about cppquiz.org and tells to us about his new book, C++ Brain Teasers, how that relates to the site and why it's has good practical applicability. News New report by the US Cybersecurity and Infrastructure Security Agency (CISA) C++ Safe Buffers - a new Clang20 feature CppFront version 0.8 is out “Safe and efficient C++ interoperability via non-escapable types and lifetimes” - from the Swift Forums Links C++ Brain Teasers - Anders' new boo...

Nov 19, 202454 minEp. 394

Realtime Sanitizer and the Performance Constraints attributes

Christoper Apple joins Timur and Phil. Chris talks to us about his work on the new Realtime Sanitizer in the Clang20 release, as well as the associated Performance Constraints attributes, how they differ, and how they work together. News The C++23 Standard has finally been released by ISO "Why Safety Profiles Failed" - draft of new paper from Sean Baxter "if constexpr requires requires { requires }" - Jonathan Müller Links RealtimeSanitizer docs Performance Constraints docs RealtimeSanitizer hel...

Oct 29, 20241 hr 1 minEp. 393

Type Erasure, SIMD-Within-a-Register and more

Eduardo Madrid joins Phil and Timur. Eduardo talks to us about the Zoo libraries, including his advanced type-erasure library, as well as the SWAR library which simulates ad-hoc SIMD within a register. We also discuss how he has taken inspiration and cues from the worlds of Biology and Physics to arrive at new thinking around software development, design and architecture. News QT 6.8 is released "Named Loops" proposal adopted into C - will C++ follow? C++ Online Call for Speakers is open Links T...

Oct 20, 20241 hr 4 minEp. 392

Parsing and Analysing C++

Yuri Minaev joins Timur and Phil. Yuri talks to us about static analysis and how PVS Studio helps. Then we chat about his work on a custom C++ parser, and what challenges he's encountered. News CppCon 2024 keynotes on YouTube (via CppCon site): Herb Sutter - "Peering Forward: C++'s Next Decade" Khalil Estell - "C++ Exceptions for Smaller Firmware" Amanda Rousseau - "Embracing an Adversarial Mindset for C++ Security" David Gross - "Ultrafast Trading Systems in C++" Daveed Vandevoorde - "Gazing Be...

Oct 04, 20241 hr 2 minEp. 391

CppCon 2024 Live Special

Phil and Timur are joined by a live audience at CppCon as we chat about Safety in C++, AI and the running of CppCast itself. News Clang 19.1 released Sean Baxter's "Safe C++" P3390R0: "Safe C++" - Sean's work written up as a proposal partnership announcement from C++ Alliance Summary article on The Register Links Core C++ (Israel) - Call for Speakers closes 22nd Sept! "Robots Are After Your Job: Exploring Generative AI for C++" - Andrei Alexandrescu's CppCon 2023 talk...

Sep 20, 202455 minEp. 390

Benchmarking Language Keywords

Benjamin Summerton joins Timur and Phil. Ben talks to us about what led him to benchmark the impact of the final and noexcept keywords, how to interpret his results, and the project that inspired him to do so in the first place. News Boost 1.86 released RealtimeSanitizer - new real-time safety testing tool for C and C++ projects that comes with Clang 20 "Honey, I shrunk {fmt}: bringing binary size to 14k and ditching the C++ runtime" Links Join us for the CppCast CppCon Special Previous episodes...

Sep 06, 20241 hr 6 minEp. 389

Reducing Binary Sizes

Sándor Dargó joins Phil and Anastasia Kazakova. Sándor talks to us about why and how to reduce the final binary sizes your code produces, as well as the importance of clean code. News "cppfront: Midsummer update" Reddit Thread cpp2 episode from last year AutoConfig: C++ Code Analysis Redefined (Sonar) “ noexcept Can (Sometimes) Help (or Hurt) Performance” - Ben Summerton Links Binary Sizes posts on Sándor's blog Sándor's books "Parameterized testing with GTest" - Sándor Dargó "How to keep your b...

Aug 09, 20241 hr 4 minEp. 388

Swift for C++ Developers

Doug Gregor joins Phil and Kevin Carpenter. Doug talks to us about his work on Swift at Apple, what the language is like and how it can interoperate with C++. News "Memory Safety in C++ vs Rust vs Zig" - B Shyam Sundar C++ under the Sea workshops announced mp-units 2.2.0 released Links "Swift for C++ Practioners" - first in blog series from Doug Gregor Episode 341, with Dave Abraham talking about Swift/ C++ interop "Start with a Protocol" - blog post from Rob Napier (but link to Dave Abraham's "...

Jul 27, 20241 hr 3 minEp. 387

QuantLib

Luigi Ballabio joins Phil and Matt Godbolt. Luigi talks to us about QuantLib, an open-source library for financial models that he co-founded and now maintains. News WG21 St. Luis trip reports: "Official" report, collated by Inbal Levy Herb Sutter's trip report Links QuantLib home page Episode about borrow-checked C++ with Sean Baxter "QuantLib Python Cookbook" - book by Luigi "Implementing QuantLib" - book by Luigi...

Jul 12, 20241 hr 1 minEp. 386

libunifex and std::execution

Jessica Wong and Ian Petersen join Timur and Phil. Ian and Jessica talk to us about libunifex and other async code projects at Meta, how it has evolved in the proposed std::execution and what structured concurrency is. News XCode 16 beta The std library that ships with XCode 16 supports "hardening" libc++ hardening modes "What’s the deal with std::type_identity?" - Raymond Chen "C++ programmer's guide to undefined behavior: part 1 of 11" - PVS Studio "C++ Brain Teasers: Exercise Your Mind" - And...

Jun 28, 20241 hr 2 minEp. 385

Boost, The Beman Project and Beyond

Zach Laine joins Phil and Timur. Zach talks to us about the Boost collection of libraries, his contributions to it, a little of its history and where it's going, and a new project that aims to get back to Boost's original roots. News Timing vulnerability in Kyber due to compiler optimization pass JUCE 8 released C++ Under the Sea - new conference in The Netherlands Links Boost...

Jun 14, 20241 hr 4 minEp. 384

Safe, Borrow-Checked, C++

Sean Baxter joins Timur and Phil. Sean explains how he has managed to implement a borrow checker for C++ in his Circle compiler. In fact his implementation addresses all the same safety issues that Rust addresses. News "Noisy: The Class You Wrote a Hundred Times" Reddit discussion "Addressing That Post About final " Conference News: Pure Virtual C++ 2024 videos C++ on Sea 2024 - full scheduled published Links Jet Propulsion Lab Circle homepage "Safe C++" - Sean's video covering the implementatio...

May 31, 20241 hr 9 minEp. 383

Rust <=> C++

Mara Bos joins Phil and Timur. Mara talks to us about her work on the Rust evolution team and how she uses embedded Rust for drone flight controllers. We chat about some of the differences and similarities between C++ and Rust, and what the two languages can, and should, learn from each other. News GCC 14 released Changes Reddit discussion "An informal comparison of the three major implementations of std::string" (updated) - Raymond Chen BugInsight – New memory leak and deadlock finder for C and...

May 18, 20241 hrEp. 382

JSON for Modern C++

Niels Lohmann joins Timur and Phil. Niels talks to us about his popular JSON library, JSON for Modern C++ (often just known as nlohmann/json, after its github repo). We chat about the history and purpose of the library, with an interesting aside into starting and maintaining a popular OSS library, as well as what Niels is up to today. News "The Performance Impact of C++'s final Keyword" - Benjamin Summerton Reddit discussion Kris Jusiak: Meta-meta programming! (Reddit) Links "Tips on Surveying t...

May 03, 20241 hr 8 minEp. 381

Pure Virtual C++

Sy Brand joins Phil and Timur. Sy talks about the imminent Pure Virtual C++ conference that they have been running with Microsoft's backing for a few years. Sy also discuss what they have been up to as Developer Advocate at Microsoft, as well as some fascinating outside interests. News C++ Foundation's C++ 2024 Developer survey results P3236R0: "Please reject P2786 and adopt P1144" P2786R5: "Trivial Relocatability For C++26" P1144R10: "std::is_trivially_relocatable" P1029R3: "move = bitcopies" (...

Apr 23, 20241 hrEp. 380

Heterogeneous Computing and C++ Language Evolution

Erich Keane joins Timur and Phil. Erich chats about the recent WG21 meeting in Tokyo, his roles as chair and co-chair of the Language Evolution and Language Evolution Incubator working groups, respectively, as well as heterogeneous computing and his work at NVidia. News CppCon - Call for Speakers ACCU 2024 Online Bjarne Stroustrup responds to White House warning against C++ David Sankel's post on Boost split Links New C++ meetup in Vienna, Austria Tokyo ISO C++ Committee Trip Reports: In-depth s...

Apr 05, 20241 hr 1 minEp. 379

Psychology and Starting Out as a Developer

Gail Ollis joins Phil and Matt Godbolt. Gail talks to us about why, after two decades of software development, she took a degree in psychology followed by a PhD that researched the psychology of software development - and how she now uses this to help others get started and, hopefully, avoid many of the human issues that can plague our software projects. News "Contracts MVP is Feature Complete" - Reddit "Contracts for C++" Timur's C++ London talk Gemini refuses to talk about C++ 20 Concepts to s...

Mar 11, 20241 hr 8 minEp. 378

Compiler Explorer Revisited

Patrick Quist joins Phil and Timur. Patrick chats with us about their work on the Compiler Explorer team and how they got into it. We explore some useful features that may not be as widely known, and take a peek under the hood at how it all runs. News "C++ Package Managers: The Ultimate Roundup" - blog post by Christopher McArthur "Demystifying Lakos Rule via Visualization and How It Could Relate to Constexpr" blog post by Miro Palmu "A Year of C++ Improvements in Visual Studio, VS Code, and vcp...

Feb 23, 20241 hr 1 minEp. 377

Teaching and Training Modern C++

Rainer Grimm joins Timur and Phil. Rainer talks to us about what he has learnt from many years of teaching C++ as a professional trainer, how training has become more accessible now more people are taking it online, and his thoughts on modern C++. News The C++ Iceberg "C++20 Concepts applied - Safe bitmasks using scoped enums" - blog post by Andreas Fertig ACCU conference: Early-bird tickets and workshops Links Reddit thread on Episode 375 with Daveed Vandervoorde Rainer's website and blog Raine...

Feb 09, 202453 minEp. 376

Reflection for C++26

Daveed Vandevoorde joins Phil and Timur. Daveed talks a bit about his work at EDG, but mostly his efforts to get Reflection into C++26, along with his co-authors, and how that fits into the big picture. News Meeting C++ 2023 videos (including all keynotes) "A 2024 Discussion Whether To Convert The Linux Kernel From C To Modern C++" How do you correctly implement std::clamp? Blog post Reddit discussion C++ Online Workshops Links P2996R1 - "Reflection for C++26" P1240R2 - "Scalable Reflection in C...

Jan 26, 20241 hr 13 minEp. 375

Modern C++ with Qt

Ville Voutilainen joins Timur and guest co-host, Guy Davidson. Ville talks about his work at The Qt Company and on the C++ standard committee, and about how modern C++ features such as Modules and Sender/Receiver can integrate with the Qt framework. News Matt Godbolt on Computerphile PVS-Studio C++ quiz Boston C++ meetup C++ Now Links P2300R7 - std::execution (a.k.a. Sender/Receiver)...

Jan 12, 20241 hr 8 minEp. 374

2023 Holiday Special

Phil and Timur are joined by ... Timur and Phil for a Holiday Special. We look back on the last year, discuss the news, and talk about what we're working on. News "The Case for Memory Safe Roadmaps" - CISA Experimental EDG Reflection Support Boost 1.84.0 released Cling 1.0 released "About time - how to unit test code that depends on time" - Björn Fahller CppNorth: Call for Speakers "Earlist Bird" tickets ACCU Early bird tickets C++ Online tickets Links Phil and Timur speaking at the December mee...

Dec 29, 20231 hrEp. 373

SIMD

Matthias Kretz joins Phil and Timur. Matthias talks about SIMD, including what it is, how it works, and what its useful for. We also discuss his proposal to introduce SIMD vocabulary types and functionality into the C++ standard and how it relates to what was in the Parallelism TS. News MISRA C++ 2023 published Sonar webinar on MISRA C++ 2023 with Andreas Weis nlohmann/json 3.11.3 released reflect-cpp - Reflection library for C++20 Links P1928R7 - "std::simd — merge data-parallel types from the ...

Dec 15, 20231 hr 10 minEp. 372

Catch2 v3 and Random Numbers

Martin Hořeňovský joins Timur and Phil. Martin returns to talk about v3 of Catch2 and how it is different to v2. We also revisit the topic of random numbers and how Martin is still working on portable distributions and why that is important to testing and other domains. News P2662R3 - "Pack Indexing" P1673R13 - "A free function linear algebra interface based on the BLAS" P2546R5 - "Debugging Support" P2996R0 - "Reflection for C++26" "Why I think C++ is still a desirable coding platform compared ...

Dec 01, 20231 hr 9 minEp. 371

Physical Units and a System of Quantities

Mateusz Pusz joins Phil and new guest co-host, Anastasia Kazakova. Mateusz talks to us about his physical units (and quantities) library, mp-units, why v2 is a complete redesign compared to the previous version, and how incorporating a system of quantities is so central to this new design. News clang 17 released Conference videos released in October AMA with Abbas Sabra (automatic/ static analysis) Is it too hard for junior developers to get on the C++ career ladder (Reddit) Links mp-units on Gi...

Oct 20, 202358 minEp. 370

AI and Random Numbers

Frances Buontempo joins Phil and returning guest co-host, Matt Godbolt. Frances talks to us about her new book on modern C++ as well as her the topic of her previous book on machine learning. We discuss the differences between LLM-based AI and more statistical approaches, as well as where random numbers fit into all this and the limitations of their current support in C++. News CppCon programme announced C++ on Sea videos "Inside STL" - The Old New Thing (August archive) Open source C++ projects...

Sep 15, 202359 minEp. 369

Automatic Static Analysis

Abbas Sabra joins Phil and Timur. Abbas talks to us about static analysis, the challenges - and benefits - of analysing C++ code, and a new feature from Sonar that can scan public repos with zero config. News Boost 1.83.0 released fmt 10.1 released The downsides of C++ Coroutines Links "All the defaults are backwards" - Phil's Lightning Talk "No, C++ static analysis does not have to be painful" - Sonar blog video showing Sonar's Automatic Analysis in action Sonar Community Discourse forums...

Sep 01, 202353 minEp. 368

Soagen

Mark Gillard joins Timur and guest co-host Jason Turner. Mark talks to us about reflection, SIMD, and his library soagen, a structure-of-arrays generator for C++. News What is Low Latency C++? C++Now 2023, part 1 What is Low Latency C++? C++Now 2023, part 2 Inside STL: The vector Inside STL: The string Experimenting with Modules in Flux pycmake cpptrace Links Soagen on GitHub Soagen documentation Mike Acton: Data-Oriented Design and C++ at CppCon 2014 Bryce Adelstein Lelbach on SoA and reflectio...

Aug 18, 202352 minEp. 367