Pure Virtual C++ 20222022-04-25T10:55:42-07:00
Pure Virtual Cplusplus logo

26th April 2022 14:00-17:00 UTC

A free one-day virtual conference for the whole C++ community.

All sessions will be streamed to Learn TV with a live Q&A session. Sessions will be available to view on Learn TV and YouTube after the event has finished.

Pure Virtual C++ is run under the Learn TV Code of Conduct .

Watch Live

Pre-Conference Content

Watch our other pre-conference videos in the Pure Virtual C++ 2022 playlist

Program Schedule

All sessions are pre-recorded and streamed with a live Q&A with the speaker.


What’s New In C++ 23

with Sy Brand

C++23 comes with a host of language and library features to simplify your code, make it more expressive, and give you more power to play with. I’ll walk you through as many features as I reasonably can, showing you how they can work together and what benefits you’ll gain from upgrading when the time comes.


Cute C++ Tricks, Part 2 of N: More code you should learn from and never write

with Daisy Hollman

Last year at Meeting C++, I gave a talk about “cute” snippets of counterintuitive C++ code that I’ve been posting to Twitter. I submitted an outline for that talk with about a dozen different tricks I wanted to talk about, but in the end I only had time to talk about less than half that many. In this talk, I will continue with my exploration of the dark and weird corners of C++ that, unfortunately, come up more often than we’d like. The reality of programming in C++ is that any intermediate or advanced programmer will have to understand many of these corner cases (in real code!) at some point in their career, and my goal in this talk is to continue to present these corners of the language in pithy, memorable, “cute” snippets. Along the way, hopefully we can all have a bit of fun laughing at the weird and wacky things you can do while programming in a language with 40 years of backwards compatibility.


Embedded development with VS and VS Code

with Marc Goodner

Tired of keeping IAR or Keil open on one screen to build/debug and VS Code on another to get decent IntelliSense for your firmware project? Learn about new embedded capabilities, including support for peripheral registers and RTOS objects in Visual Studio and VS Code. As a bonus, we’ll show you a new way to keep track of your toolset dependencies in a manifest that can be restored in a single command.


Everything I learned about static analysis and program safety in C++

with Sunny Chatterjee

Did you know that 70% of serious security bugs are a result of memory safety issues? In this talk, I will share how you could leverage language rules and static analysis principles to write safer C++ programs.

Modern analysis tools have come a long way since their inception and are much more powerful than traditional Lint-style checks. They use powerful techniques like theorem solvers to simple heuristics mimicking developer’s reasoning and can find deep semantic errors in programs. Furthermore, these tools can take advantage of information available in types and type extensions in the language to bridge the gap across function boundaries, without incurring the performance penalties of running global analyses.

Over the years, MSVC code analysis has become an indispensable part of the “shift left” experience to drive program safety at Microsoft. Throughout the talk, I will share my experience in developing and running these tools on large production codebases over the last decade and how they evolved over time. All the checks in the demo are available for free in the community edition of Visual Studio and as security actions in GitHub.


Persistent Representation of C++ for Fun and Profit

with Gabriel Dos Reis

Your typical compiler works hard to understand your C++ programs so it can generate good, efficient executables for them. With C++20 and up, thanks to Modules, the compiler is asked to transfer, between source files, semantic knowledge acquired during the compilation process. Why is that? How is it done? What can you do with that knowledge from the compiler? Come and find out.