Meeting C++ 2020
2020-11-12..2020-11-14
-- online --
[Meeting C++ 2014, Meeting C++ 2015, Meeting C++ 2016, Meeting C++ 2017, Meeting C++ 2018, Meeting C++ 2019, Meeting C++ 2020, Meeting C++ 2021, Meeting C++ 2022, Meeting C++ 2023, Meeting C++ 2024, Meeting C++ 2025]
who it's for
C++ application developers, library and framework authors, compiler and toolchain engineers, build and release engineers, systems programmers, software architects, performance and benchmarking engineers
topics
C++20 module binary format; ThinLTO whole-program optimization; coroutines: generators and channels; concepts versus traits comparison; template metaprogramming techniques; lambda features and tricks; move semantics and partially formed objects; static initialization order issues; name lookup and overload resolution; composition with monoids and functors; link-time mocking and type erasure; compile-time diagnostics and tooling
| title | author | length |
|---|---|---|
| Meta Polymorphism | Jonathan Boccara | 01h 18m |
Claim: C++ offers many kinds of polymorphism beyond virtual functions, and the talk demonstrates concrete techniques that work. It shows polymorphism at… | ||
| ThinLTO Whole Program Optimization | Teresa Johnson | 53m |
ThinLTO implements a three‑phase model (per‑file IR summaries, a fast serial index, parallel backends) and delivers whole‑program inlining, internalization and… | ||
| Programming in the Large With C++ 20 | Gaby Dos Reis | 01h 38m |
Claims a concrete binary IFC file format for C++20 module build artifacts, implemented in MSVC and intended as a community spec; tools demonstrated include… | ||
| Partially-formed Objects for fun and profit | Marc Mutz | 44m |
Argues that moved-from values must be treated as partially formed, distinguishes safe vs unsafe functions by whether they let partially formed objects escape… | ||
| From Functions to Coroutines | Rainer Grimm | 54m |
Shows a concrete migration from functions to coroutines by implementing a generator yielding infinite stream, a promise and channel primitives, and the… | ||
| Concepts vs Typeclasses vs Traits vs Protocols | Conor Hoekstra | 01h 01m |
Compares C++ concepts, Haskell type classes, Rust traits, Swift protocols and D type constraints by actually implementing two exercises: a generic add and a… | ||
| Lambdas - uses and abuses | Dawid Zalewski | 01h 06m |
Claims specific behavior of C++ lambdas: every lambda produces a unique closure type, C++20 adds explicit template parameters, default construction, pack-init… | ||
| Template Shenanigans | Jonathan O'Connor | 57m |
Concrete fixes and tools that actually change outcomes: how to extract deduced types at runtime with __PRETTY_FUNCTION__, or force compile‑time prints using an… | ||
| Calling Functions | Klaus Iglberger | 01h 01m |
Walks through the exact call-resolution pipeline used by C++ compilers: name lookup is irreversible (once a name is found the compiler never backtracks)… | ||
| Building an Intuition for Composition | Sy Brand | 59m |
Explains how concrete C++ features let composition be explicit: uses std::accumulate/std::reduce and fold expressions to show folds and parallelism… | ||
| Oo Considered Harmful | Phil Nash | 57m |
Claims that object orientation mixes useful high‑level ideas with low‑level harms and argues for a split: use immutable value types and builders for low‑level… | ||
| Let's Move | Nicolai M. Josuttis | 57m |
Implements a small email class, fills a vector with 100000 addresses and measures: initialization ~220 ms, sort ~4–5 s. Shows concrete optimizations: take… | ||
| How C++20 changes the way we write code | Timur Doumler | 01h 03m |
Argues C++20 actually rewrites how code is authored by adding four concrete features: coroutines (demonstrated with a handmade generator and promise that… | ||
| The Static Initialization Order Fiasco | Jonathan Müller | 53m |
The talk states that static initialization across translation units causes real, reproducible crashes and that the root cause is undefined cross-TU ordering… | ||
| nothing matches | ||