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++?
The...
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.