Meeting C++ 2019
2019-11-14..2019-11-16
Berlin, Germany
[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++ developers, library authors, systems programmers, performance engineers, toolchain maintainers, build engineers, embedded and real time engineers
topics
C++20 concepts and requires; chrono calendar and timezones (IANA); C++20 synchronization library; concurrency primitives and futex parking; modules adoption and guidance; modern template techniques; optimizing generic algorithms; asynchronous C++ and coroutines; microbenchmarking and nanosecond timing; modern CMake and build practices
| title | author | length |
|---|---|---|
| Design Rationale for the chrono Library | Howard Hinnant | 01h 40m |
Lays out concrete design choices: templates for duration(rep and period), implicit lossless conversions and duration_cast for truncation to force safe… | ||
| Can AI replace programmers? | Frances Buontempo | 01h 32m |
Claim: AI can generate working code but often at high cost and low readability. Examples: genetic programming evolves a Python fizzbuzz that required days of… | ||
| Crazy Code, Crazy Coders | Walter E. Brown | 01h 43m |
A rapid survey of concrete, production-proven errors and fixes: sanitized real snippets that crashed missiles, GPS and municipal systems, plus everyday bugs… | ||
| Concepts - Evolution or Revolution | Rainer Grimm | 56m |
Argues that C++20 Concepts are both evolution and revolution and demonstrates concrete effects: uses C++20 requires clause, abbreviated function templates, and… | ||
| Phantastic Code Smells and where to find them | Arne Mertz | 01h 00m |
Enumerates concrete smells (long functions, deep nesting, complicated boolean expressions, premature generalization) with examples from SFML, Qt and vendor SDK… | ||
| Combining C++17 Features | Nicolai M. Josuttis | 59m |
Concrete examples show how if constexpr and the new if with initialization let templates pick different instantiations without SFINAE hacks, how class template… | ||
| Multithreading 101: Concurrency Primitives From Scratch | Arvid Gerstmann | 59m |
Builds concrete locking primitives: a simple spinlock using an atomic exchange spin loop (fast uncontended, wastes CPU when contended), then a kernel-assisted… | ||
| CPU design effects | Jakub Beránek | 01h 04m |
Examples identify concrete costs and fixes: a filter loop runs >2× faster on sorted data because branch mispredictions drop (about 100M vs 400k branch-misses… | ||
| Better Algorithm Intuition | Conor Hoekstra | 59m |
Slides and transcript show concrete claims and worked examples: C++ STL solves LeetCode problems with specific algorithms (use std::reverse, std::partition to… | ||
| Modern Template Techniques | Jon Kalb | 54m |
Shows concrete recipes and why they matter: implements an add template using trailing return + decltype and then simplifies with auto; chooses memcpy vs… | ||
| The C++20 Firehose Talk | Fabio Fracassi | 48m |
Claims: format faster than printf with extensible, efficient formatting into buffers; char8_t for UTF-8 as a distinct, overloadable character type; a… | ||
| The Dawn of a new Error | Phil Nash | 56m |
Proposal p0709 deterministic exceptions rewrites throws into a return-channel transformation that yields something like std::expected, introduces a try/froz… | ||
| Oh No! More Modern CMake | Deniz Bahadir | 01h 01m |
Shows concrete changes and practices: relative paths fixed in CMake 3.13 so target_sources works across directories, object libraries propagation clarified in… | ||
| [old version]The C++20 Synchrononization Library | Bryce Adelstein Lelbach | 01h 04m |
C++20 adds concrete primitives and a working demo: a small tasking runtime implements a bounded MPMC queue, jthread with stop_token and proper… | ||
| The C++20 Synchronization Library | Bryce Adelstein Lelbach | 01h 04m |
Claims a compact, runnable tasking runtime that actually builds: a bounded MPMC queue with two semaphores, a thread group using J thread with stop_token… | ||
| C++20: the small things | Timur Doumler | 59m |
C++20 lists dozens of concrete changes: designated initializers and parenthesis aggregate construction actually allow in-place template and macro use… | ||
| [a bit noisy] Optimizing Generic Algorithms | Denis Yaroshevskiy | 48m |
Claims concrete wins and the measurement setup: use Google Benchmark and perf on a single compiler/machine, watch for code alignment effects. Replacing… | ||
| [filtered] Asynchronous C++ Programming | Pavel Novikov | 57m |
Covers concrete primitives and tradeoffs: uses PPL (Parallel Patterns Library) and std::packaged_task / std::future to show how promises, futures… | ||
| Consistent architecture diagrams for C++ projects | Marius Feilhauer | 51m |
Argues for storing and generating architecture diagrams from text so visuals live in version control and CI, demonstrates automatic graphs from CMake and… | ||
| Things I learned from the static analyzer | Bart Verhagen | 36m |
Static analyzers like clang-tidy and cppcheck give concrete, actionable findings not vague advice they flag missing =delete or =default, prefer using over… | ||
| Bringing the power of C++ to the web | Krzysztof Paprocki | 39m |
C++ compiles to WebAssembly and runs in browsers using Emscripten with a small demo add function and a threaded example that actually interleaves output when… | ||
| This is why we can('t) have nice things | Timo van der Kuil | 44m |
Shows concrete oddities with small code demos and explains why they behave that way: uninitialized primitives and array default construction, the order of… | ||
| Retiring the Singleton Pattern | Peter Muldoon | 01h 03m |
Argues for removing singletons by replacing them with lightweight wrapper classes, preserving API/source compatibility and allowing a phased rollout across… | ||
| The art of keeping your project from falling apart | Martin Šmarda | 56m |
Argues that code must be written for programmers not compilers and gives concrete practices: assume humans hold about five items in working memory, prefer… | ||
| Counting Nanoseconds Microbenchmarking C++ Code | David Gross | 59m |
Microbenchmarks measure real claims: a 10k-int min_element microbenchmark uses RDPMC and PAPI and LLVM‑tools to show a loop‑carried dependency collapses IPC… | ||
| Debugging memory corruptions in C++ | Mateusz Nowak | 44m |
Covers concrete bug classes — buffer overflows, use‑after‑free, SSO and string_view null termination traps, moved‑from objects and missing special member… | ||
| Real time 101 | David Rowland, Fabian Renn Giles | 48m |
A practical flowchart maps real constraints to patterns: use an atomic for tiny state, a spinlock when big data can be missed, a null-pointer compare-and-swap… | ||
| Modules are coming | Bryce Adelstein Lelbach | 01h 05m |
Claim: C++20 modules redefine the compilation model, replacing textual inclusion with precompiled module interfaces (BMIs) that cut redundant parsing, enforce… | ||
| Modules the Beginner's Guide | Daniela Engert | 01h 01m |
Shows concrete differences between module interface unit and implementation units, and how the export keyword must appear only on declarations that are meant… | ||
| High Performance Graphics and Text Rendering on the GPU | Barbara Geller, Ansel Sermersheim | 01h 02m |
Demo shows crisp, scalable text rendered entirely on the GPU using CS paint, which wraps Vulkan (using the Vulkan C++ bindings) and GLM; text uses a small… | ||
| nothing matches | ||