2021 Talks

Please enjoy all available videos and slides from talks, keynotes, and tutorials given at C++Now 2021, which took place online from May 2nd to May 7th, 2021.

  • Playlist of 2021 Session Talks (not yet available)
  • Playlist of 2021 Lightning Talks (not yet available)
  • Slides (not yet available)

CMake: One Tool To Build Them All

by Bill Hoffman
given 2021-05-03 at 08:45 in Track A

The C++ Rvalue Lifetime Disaster

by Arno Schödl
given 2021-05-03 at 11:30 in Track B

Transpose(*this) - An Update on the State of Linear Algebra for Standard C++

by Bob Steagall
given 2021-05-03 at 11:30 in Track C

A Crash Course in Unicode for C++ Developers

by Steve Downey
given 2021-05-03 at 11:30 in Track A

When Should You Give Two Things the Same Name?

by Arthur O'Dwyer
given 2021-05-03 at 13:30 in Track B

C++11/14 at Scale: What Have We Learned?

by John Lakos and Vittorio Romeo
given 2021-05-03 at 13:30 in Track C

How to: Colony

by Matthew Bentley
given 2021-05-03 at 13:30 in Track A

Code Analysis++

by Anastasia Kazakova
given 2021-05-04 at 07:00 in Track A

Better C++ Ranges

by Arno Schödl
given 2021-05-04 at 07:00 in Track C

Converting a State Machine to a C++ 20 Coroutine

by Steve Downey
given 2021-05-04 at 07:00 in Track B

Practical TMP: A C++17 Compile Time Register Machine

by Daniel Nikpayuk
given 2021-05-04 at 09:00 in Track B

Surveying the C++ community

by Jens Weller
given 2021-05-04 at 09:00 in Track A

Interactive C++ in a Jupyter Notebook Using Modules for Incremental Compilation

by Steven R. Brandt
given 2021-05-04 at 09:00 in Track C

Parallelism on Ranges: Should We?

by Giannis Gonidelis
given 2021-05-04 at 09:50 in Track C

Executors: The Art of Generating Composable APIs

by Nikunj Gupta
given 2021-05-04 at 09:50 in Track B

Weak Interfaces → Weak Defences: The Bane of Implicit Conversion in our Function Calls

by Richárd Szalay
given 2021-05-04 at 09:50 in Track A

The Worst Best Practices

by Jason Turner
given 2021-05-04 at 11:30 in Track A

Using Concepts - C++ Design in a Concept World (part 1 of 2)

by Jeff Garland
given 2021-05-04 at 11:30 in Track C

Using Concepts - C++ Design in a Concept World (part 2 of 2)

by Jeff Garland
given 2021-05-04 at 13:30 in Track C

hop: A Language to Design Function-Overload-Sets

by Tobias Loew
given 2021-05-04 at 11:30 in Track B

The Complete Guide to `return x;`

by Arthur O'Dwyer
given 2021-05-04 at 13:30 in Track B

What is an ABI and Why is Breaking it a Problem?

by Marshall Clow
given 2021-05-04 at 13:30 in Track A

Preconditions, Postconditions, Invariants: How They Help Write Robust Programs

by Andrzej Krzemieński
given 2021-05-05 at 07:00 in Track B

The Performance Price of Dynamic Memory in C++

by Ivica Bogosavljevic
given 2021-05-05 at 07:00 in Track C

The Concepts of concepts

by Sandor Dargo
given 2021-05-05 at 07:00 in Track A

SOLID, Revisited

by Tony Van Eerd
given 2021-05-05 at 09:00 in Track A

Polymorphism À La Carte

by Eduardo Madrid and Phil Nash
given 2021-05-05 at 11:30 in Track A

Semantic Sugar: Tips for Effective Template Library APIs

by Roi Barkan
given 2021-05-05 at 11:30 in Track C

Writing a C++ 20 Module

by Steve Downey
given 2021-05-05 at 11:30 in Track B

Iterators and Ranges: Comparing C++ to D to Rust

by Barry Revzin
given 2021-05-05 at 13:30 in Track C

Adventures in SIMD-Thinking

by Bob Steagall
given 2021-05-05 at 13:30 in Track B

Techniques for Overloading any_invocable

by Filipp Gelman
given 2021-05-05 at 13:30 in Track A

So You Think You Know How to Work With Concepts?

by Andrzej Krzemieński
given 2021-05-06 at 07:00 in Track B

CMake + Conan: 3 Years Later

by Mateusz Pusz
given 2021-05-06 at 07:00 in Track C

Simplest Strong Typing instead of Language Proposal ( P0109 )

by Peter Sommerlad
given 2021-05-06 at 07:00 in Track A

Algorithms from a Compiler Developer's Toolbox

by Gábor Horváth
given 2021-05-06 at 09:00 in Track A

Variations on variants

by Roi Barkan
given 2021-05-06 at 09:00 in Track C

Windows, MacOS and the Web: Lessons from Cross-platform Development at think-cell

by Sebastian Theophil
given 2021-05-06 at 09:00 in Track B

C++ Insights: How Stuff Works, Lambdas and More!

by Andreas Fertig
given 2021-05-06 at 11:30 in Track A

Library Approaches for Strong Type Aliases

by Anthony Williams
given 2021-05-06 at 11:30 in Track C

Designing Concurrent C++ Applications

by Lucian Radu Teodorescu
given 2021-05-06 at 11:30 in Track B

Frictionless Allocators

by Alisdair Meredith
given 2021-05-06 at 13:30 in Track B

UT - C++20 Unit Testing Framework

by Kris Jusiak
given 2021-05-06 at 13:30 in Track C

STL Algorithms as Expressions

by Oleksandr Bacherikov
given 2021-05-06 at 13:30 in Track A

Don't constexpr All the Things

by David Sankel
given 2021-05-07 at 07:00 in Track C

What Neighborhoods Owe to Each Other: Rights, Duties, Immunities and Disabilities of Functions and Objects

by Lisa Lippincott
given 2021-05-07 at 07:00 in Track B

Simplest Safe Integers

by Peter Sommerlad
given 2021-05-07 at 07:00 in Track A

Taking Template Classes One Step Further with Opaques Types and Generic NTTPs

by Joel Falcou and Vincent Reverdy
given 2021-05-07 at 09:00 in Track B

Taskflow: A Lightweight Heterogeneous Task Graph Programming System with Control Flow

by Tsung-Wei Huang
given 2021-05-07 at 09:00 in Track A

The Quest For A Better Crash

by Victor Ciura
given 2021-05-07 at 09:00 in Track C

What Belongs In The C++ Standard Library?

by Bryce Adelstein Lelbach
given 2021-05-07 at 11:30 in Track A