
CppCast
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
Latest episodes

May 21, 2021 • 60min
ABI Stability
Rob and Jason are joined by Marshall Clow. They first discuss some bugs Microsoft found using ASAN in open source projects, and new libraries. Then they talk to Marshall Clow, longtime maintainer of libc++, on his perspective on the C++ ABI, and why stability is important.
News
Finding Bugs with AddressSanitizer: Patterns from Open Source Projects
RmlUI 4.0 Release
Not Enough Standards, my C++17/20 library for cross-platform utilities
Meeting C++ 2021 Announced
Links
What is an ABI, and Why is Breaking it Bad? - Marshall Clow - CppCon 2020
Sponsors
PVS-Studio. Write #cppcast in the message field on the download page and get one month license
Date Processing Attracts Bugs or 77 Defects in Qt 6
COVID-19 Research and Uninitialized Variables

May 14, 2021 • 60min
Djinni
Rob and Jason are joined by Harald Achitz. They first discuss performance updates for debug builds coming in the next version of Visual Studio. Then they talk about Djinni, the cross platform language binding generator tool initially developed by Dropbox that is now being supported by the C++ Mobile Development community.
News
2x-3x Performance Improvements for Debug Builds
Vcpkg site now has search
Should we break ABI is the wrong question
Links
Djinni
Djinni on GitHub
Mobile C++ Slack
C++ User Groups of Sweden
C++ Community Organizers
Sponsors
C++ Builder

May 7, 2021 • 60min
SonarSource Analysis Tools
Rob and Jason are joined by Loïc Joly from SonarSource. They first discuss compiler updates in GCC and MSVC as well as survey results of most used C++ features. Then they talk to Loïc about the SonarSource static analysis tools for C++, what sorts of bugs they discover, and what goes into creating a new analysis rule.
News
VS 2019 STL is C++20 feature complete
GCC 11.1 Released
Meeting C++ survey results: the most popular C++ standard features
Links
SonarSource
The NeverEnding Story of writing a rule for argument passing in C++
Sponsors
C++ Builder

Apr 30, 2021 • 60min
Defer is better than Destructors
Rob and Jason are joined by JeanHeyd Meneide. They first discuss alternative operators in C++, upcoming virtual conferences and papers in the April ISO mailing. Then they talk to JeanHeyd about his work on the C and C++ committees, including embed, defer and more.
News
Just discovered C++ has keywords 'and'/'or'/'not' etc.
Pure Virtual C++
April Mailing
Links
Defer Mechanism for C: The Movie
p1967 Preprocessor embed - Binary Resource Inclusion
p0052 Generic Scope Guard and RAII Wrapper for the Standard Library
No Us Without You - elifdef and elifndef
CoSy Tech Con
Sponsors
Incredibuild

Apr 23, 2021 • 60min
ScummVM
Rob and Jason are joined by Eugene Sandulenko. They first discuss the announcement of Visual Studio 2022 and Facebook open sourcing a new machine learning library. Then they talk to Eugene Sandulenko all about ScummVM, how the project got started and more.
News
Visual Studio 2022 coming this summer
Flashlight - a C++ standalone library for machine learning open sourced by Facebook
2021 Annual C++ Developer Survey "Lite"
Links
ScummVM
Sponsors
Incredibuild

Apr 16, 2021 • 60min
C++Builder
Rob and Jason are joined by David Millington from Embarcadero. They first discuss a blog post on Thread Sanitizer and a very unique implementation of unique_ptr. Then they talk to David Millington from Embarcadero about C++ Builder, it's history and the state of the tool today. Including some of its extensions built into their version of Clang.
News
Eliminating Data Races in Firefox
Mathematical constants in C++20
NFT backed implementation of std::unique_ptr
Links
C++Builder
N1384 - PME: Properties, Methods and Events
N1600 - C++/CLI Properties
N1615 - C++ Properties -- a Library Solution
Sponsors
PVS-Studio. Write #cppcast in the message field on the download page and get one month license
Date Processing Attracts Bugs or 77 Defects in Qt 6
COVID-19 Research and Uninitialized Variables

Apr 9, 2021 • 60min
Rigel Engine
Rob and Jason are joined by Nikolai Wuttke. They first discuss a blog post series from Raymond Chen on coroutines and the upcoming pure virtual C++ conference. Then they talk to Nikolai Wuttke about Rigel Engine, a modern C++ reimplementation of Duke Nukem II.
News
C++23: -> and :: to be replaced by . operator
C++ coroutines: The mental model for coroutine promises
Mutabah's Rust Compiler
Pure Virtual C++ 2021 Conference
Links
Rigel Engine on GitHub
Play Rigel Engine online
Sponsors
PVS-Studio. Write #cppcast in the message field on the download page and get one month license
Date Processing Attracts Bugs or 77 Defects in Qt 6
COVID-19 Research and Uninitialized Variables

Apr 2, 2021 • 60min
One Lone Coder
Rob and Jason are joined by David Barr (aka javidx9). They first discuss Microsoft open sourcing calculator, an update to CMake and the March 2021 ISO Mailing. Then they talk to David about his YouTube channel, One Lone Coder, what inspired him to start it, and PixelGameEngine, the 2D game engine he works on with the One Lone Coder community.
News
Freestanding avr-libstdc++
Calc.exe is now open source
Cmake 3.20.0 available for download
ISO C++ March Mailing
Links
javidx9 - One Lone Coder YouTube Channel
javidx9 - Twitch Channel
One Lone Coder Community
Sponsors
C++ Builder

Mar 19, 2021 • 60min
Event Streaming
Rob and Jason are joined by Alex Gallego. They first discuss blog posts from Visual C++ on Intellisense updates and a tutorial for programming Starcraft AI. Then they talk to Alex Gallego about Red Panda, the event streaming platform written in C++ that's compatible with the Kafka API.
Episode Transcripts
PVS-Studio Episode Transcripts
News
MTuner
Intellisense Improvements In Visual Studio 2019
STARTcraft - Complete Beginner Starcraft: Broodwar AI Programming Tutorial with C++ / BWAPI STARTcraft
Git source has a banned.h file that blocks use of certain C functions
Links
Vectorized.io
RedPanda on GitHub
The Kafka API is great; now let's make it fast!
Sponsors
PVS-Studio. Write #cppcast in the message field on the download page and get one month license
Date Processing Attracts Bugs or 77 Defects in Qt 6
COVID-19 Research and Uninitialized Variables

Mar 12, 2021 • 60min
Reducing Memory Allocations
Rob and Jason are joined by Arnaud Desitter. They first discuss blog posts on parameter passing, fuzzing and push_back vs emplace_back. Then they talk to Arnaud Desitter about his successes improving application performance by reducing memory allocations found using heaptrack.
Episode Transcripts
PVS-Studio Episode Transcripts
News
Hacking on Clang is surprisingly easy
Parameter Passing in C and C++
Fuzzing Image Parsing in Windows, Part Two: Uninitialized Memory
Don't blindly prefer emplace_back to push_back
Links
Reducing Memory Allocations in a Large C++ Application - Arnaud Desitter [ C++ on Sea 2020 ]
Reducing Memory Allocations in a Large C++ Application - Slides- Arnaud Desitter [ C++ on Sea 2020 ]
heaptrack
Sponsors
PVS-Studio. Write #cppcast in the message field on the download page and get one month license
The Evil within the Comparison Functions
Top 10 Bugs Found in C++ Projects in 2020