Meeting C++ 2021 | live Schedule | Speaker | Talks | Ticketshop | Sponsoring

"My program was running fast six months ago. What happened?"

Speaker: Ivica Bogosavljevic

Audience level: Beginner | Intermediate | Advanced

Many developers have experienced their programs getting slower as new features are added or the data set of their programs grows. And they might have asked themselves "Why is this happening?"

How to approach learning and teaching C++?

Speaker: Slobodan Dmitrovic

Audience level: Beginner | Intermediate

In this talk, Slobodan discusses the approach and methodologies used in both learning and teaching C++. In the first part of the talk, Slobodan explains how to approach the topic of learning C++. Slobodan discusses possible answers to the following questions: what resources to use, what topics to learn and in which order to learn them, what makes a C++ backbone, what makes a solid C++ knowledge foundation, how to tackle the complexity, how to decide what is essential to a beginner in C++?


C++ - The hidden pearls

Speaker: Rainer Grimm

Audience level: Beginner | Intermediate

C++20 has way more to offer than the big four concepts, ranges, modules, and coroutines.

Exceptional C++

Speaker: Victor Ciura

Audience level: Intermediate | Advanced

   When writing code we usually focus our attention on the happy paths - that’s where the interesting stuff happens. But there are also plenty of exciting things happening on the error handling flow, too. Although not universally loved/used, exceptions are a powerful mechanism of maneuvering execution on the unhappy path. 

What class types we design and how

Speaker: Peter Sommerlad

Audience level: Beginner | Intermediate

What special member functions should you declare or define in your class types? Are you always sure? Is defaulting or deleting a special member function the right thing to do, or does the Rule of Zero rule? Will we always have to consult Howard Hinnants table from ACCU 2014?

How to rangify your code

Speaker: Tina Ulbrich

Audience level: Beginner

By now you probably know about ranges in C++20. You may have also watched a talk or two about how to create your own view.
But now, what do you do with that knowledge? How do you rangify your code?
If you find yourself using pre C++20 code because you don't know where to start using ranges, this talk is for you.
I'm going to rangify different code examples and try to show you how to think in ranges. I'm going to use the standard library and the range-v3 library.


Introduction to Memory Exploitation

Speaker: Patricia Aas

Audience level: Beginner

Stack based exploitation has gotten all the fame, but many platform and compiler mitigations have made it very hard to exploit stack vulnerabilities. Heap based exploits are still very relevant, and since this is black magic for most developers I will here give an introduction to the field.

Argument Passing, Core Guidelines, and Aliasing

Speaker: Roi Barkan

Audience level: Beginner | Intermediate

Core guidelines recommend passing objects to functions differently based on whether they are 'cheaply copyable'. Last year, Herb Sutter put a spotlight on the importance of simple and correct methodology for such argument passing.

Building and Packaging Modern C++

Speaker: Adrian Ostrowski, Piotr Gaczkowski

Audience level: Intermediate

Have you ever seen someone trying to build a house with their bare hands? Probably not. That's what tools are for. To make our lives easier. Are you sure you're using the best tools to help you develop your application?

C++20 Coroutines As An API Principle

Speaker: Marc Mutz

Audience level: Beginner | Intermediate | Advanced

Since the addition of view types to the C++ language (string_view in C++17 and span in C++20), APIs that follow the NOI (Non-Owning Interface) Idiom are a breeze to write, and fun to work with.

CMake and the future of C++

Speaker: Julien Jomier

Audience level: Beginner | Intermediate

We will present the concept of C++ modules support for CMake as well as newly developped features that are potentially less known to the CMake users. We will also take the opportunity to describe which features of CMake are currently in development and how they will help future C++ developers.

Physical Units for Matrices: How Hard Can It Be?

Speaker: Daniel Withopf

Audience level: Intermediate | Advanced

This talk will present a comprehensive C++ solution how matrix types from a linear algebra library (Eigen, blaze, P1385) can be enriched with physical units (e.g. mpusz/units from P1935) to achieve more expressive and less error-prone code. In contrast to existing work on the topic, this approach works in all cases and not only when the units in a vector / matrix are uniform.

C++20 - My Favourite Code Examples

Speaker: Nicolai Josuttis

Audience level: Beginner | Intermediate

C++20 is the next big release of C++. It introduces a lot of changes that will have an impact or our programming style. But the real power becomes clear if you come up with examples that go a bit beyond the usual basic feature motivations.

Reimplementing Signals, Slots, Properties and Bindings from Qt in pure C++17

Speaker: Leon Mattes

Audience level: Advanced

If you had to describe the single most iconic feature of Qt, then signals and slots would undoubtedly come to mind for most. They are a foundational component of Qt that has been around for a very long time and forms the foundation for many of the design patterns that are common in Qt applications.

C++20 Templates: The next level

Speaker: Andreas Fertig

Audience level: Intermediate

C++20 is more or less out the door. It is probably the biggest change to the language ever since. In this session, we will look into some changes that templates received with C++20. The biggest change is the introduction of Concepts.
We don’t stop there. We will also talk about improvements to CTAD and NTTP. Of course, we will also look into how templated lambdas work in C++20.