The schedule for Meeting C++ 2025 is complete
Meeting C++ 2025 has now a fully filled schedule with 5 Tracks on 3 days!
Schedule of Meeting C++ 2025
November 6th - 8th, Berlin and online.
October 25, Pavia, Italy
November 6-8, Berlin, Germany
November 3-8, Kona, HI, USA
By Meeting C++ | Oct 23, 2025 10:00 AM | Tags: meetingcpp community
Meeting C++ 2025 has now a fully filled schedule with 5 Tracks on 3 days!
Schedule of Meeting C++ 2025
November 6th - 8th, Berlin and online.
By Blog Staff | Oct 18, 2025 01:14 PM | Tags: None
The goal of this mini-series is to explore the Observer Design Pattern in C++, walking through different implementations and weighing their pros and cons.
Discovering Observers - Part 1
by Sandor Dargo
From the article:
First, let’s briefly recap what the observer pattern is. It belongs to the family of behavioral design patterns.
As a reminder: design patterns are usually grouped into three categories: creational, structural, and behavioral.
You might also have encountered the observer under other names such as listener, event subscriber, or publisher-subscriber.
The central idea is simple: instead of repeatedly querying an object for information, the querying object (the observer) gets notified automatically when the information holder (the subject) changes. For example, imagine an orchestrator object that needs the latest value of a user setting. Instead of polling the setting every
nmilliseconds, it can subscribe to value changes and receive notifications whenever a new value is set.Using the common terminology: there is typically one publisher and one or more subscribers. Subscribers register for events or changes, and whenever an update happens, the publisher notifies them.
By Meeting C++ | Oct 15, 2025 05:24 AM | Tags: meetingcpp community
Meeting C++ hosts a new track in Berlin this year, offering 4 tracks onsite
Releasing the 5th Track for Meeting C++ 2025
by Jens Weller
from the article:
I am excited to announce that with the recent changes to the schedule, Meeting C++ 2025 has now 5 tracks: 4 onsite and 1 online track. This new track is possible thanks to better funding from sponsors and exhibitors enabling even more C++ content at Meeting C++ in Berlin.
For onsite attendees there is a new batch of hotel tickets and team tickets available. The current hotel ticket batch sells until Mid October.
These are the new talks which are now at the conference:
New talks at Meeting C++ 2025100 BC (binary compatibility) - Marc Mutz
Case Study: Purging Undefined Behavior and Intel Assumptions in a Legacy Codebase - Roth Michaels
Type Traits without Compiler Intrinsics – The Promise of Static Reflection - Andrei Zissu
Back to the basics: Namespaces 101 - Sandor Dargo
Building Bridges: C++ Interop., Foreign Function Interfaces & ABI - Gareth Williamson
Instruction Level Parallelism and Software Performance - Ivica Bogosavljevic
Real-time Safety — Guaranteed by the Compiler! - Anders Schau Knatten
Missing (and future?) C++ range concepts - Jonathan Müller
From Introductory to Advanced C++ - Learning Guidelines - Slobodan Dmitrovic
MISRA C++ 2023 - Richard Kaiser
By Blog Staff | Oct 14, 2025 01:10 PM | Tags: None
A long-delayed dream finally came true: after years of near-misses and lessons learned (“better to be invited than sent”), I made it to CppCon—and it was bigger, louder, and more inspiring than I imagined. In this recap I share the vibe of the week, five standout talks and ideas, a few notes from my own session, and links to recordings as they appear.
Trip Report: CppCon 2025
by Sandor Dargo
From the article:
CppCon is simply bigger than any other C++ conference I’ve attended. A massive venue packed with people and sponsors. I logged more than 10,000 steps on the very first day — without ever leaving the resort or going to the gym.
The whole experience felt like it was on another scale compared to European conferences (which I also love). But then again, that’s often the impression when you see something American from a European perspective, isn’t it?
I never would have imagined a C++ conference where a live band plays while Bjarne Stroustrup himself makes final checks before stepping on stage to deliver the opening keynote. Absolutely rocks.
By Meeting C++ | Oct 14, 2025 07:24 AM | Tags: community
Sadly I have to inform you about Rainer Grimms passing last week. He was a great C++ author, trainer, speaker and friend. Heartfelt condolences to his family.
Rainer Grimms ALS Journey 31/31: the end
by Beatrix Grimm
From the article:
Dear readers, we are extremely sad to inform you that Rainer passed away on October 6, 2025, surrounded by his closest family. After suffering from life-threatening pneumonia, Rainer decided against further life-sustaining measures that would have severely restricted his life. He passed away peacefully, accompanied by his family.
By Blog Staff | Oct 9, 2025 12:42 PM | Tags: None
Structured binding is a C++17 feature that allows you to bind multiple variables to the elements of a structured object, such as a tuple or struct. This can make your code more concise and easier to read, especially when working with complex data structures. On this blog, we already covered this functionality, but we’ll talk about some good C++26 additions and real code use cases.
Structured bindings in C++17, 8 years later
by Bartlomiej Filipek
From the article:
An excellent demonstration of structured bindings is an iteration through a map object.
If you have a
std::mapof elements, you might know that internally, they are stored as pairs of<const Key, ValueType>.Now, when you iterate through elements, you can do:
for (const auto& elem : myMap) { ... }You need to write
elem.firstandelem.secondto refer to the key and the value.std::map<KeyType, ValueType> myMap = getMap(); // C++14: for (const auto& elem : myMap) { // elem.first - is the key // elem.second - is the value }
By Meeting C++ | Oct 8, 2025 10:21 AM | Tags: qt meetingcpp community
A blog entry about this years t-shirt at Meeting C++ 2025 and exploring QPainterPath for it.
You should use QPainterPath they said...
by Jens Weller
From the article:
This post is about what I learned while playing around with QPainterPath for this years t-shirt at Meeting C++ 2025 sponsored by Hudson River Trading.
One of the issues from last years t-shirt was when using drawText from QPainter, one does not really *draw* text in an svg exported. Instead you'll get the text and the font kinda embedded in an svg. What good is that in a vector graphic? This was a bit of a surprise when I ran into issues with this last year during printing. While this could be solved with the printing company picking a different font, it would have been also solved by using QPainterPath. At least this was the feedback from some of the Qt experts present onsite or online...
By Meeting C++ | Oct 6, 2025 01:04 PM | Tags: meetingcpp conference community
With Meeting C++ 2025 coming closer, we're doing a last round of onboarding for sponsors
Final call for sponsors for Meeting C++ 2025
by Jens Weller
From the article:
With Meeting C++ 2025 just being 5 weeks away, I share a call for sponsors with you.
Maybe your employer is interested in being present as a sponsor at this years Meeting C++ conference? Have you thought about the possibilty that you could have your employer sponsor Meeting C++ 2025?
As an organization Meeting C++ gets its funding through sponsorship and ticket sales for the conference mostly.
By Blog Staff | Oct 1, 2025 12:38 PM | Tags: None
Whether you’re in a coding interview or writing production code, you’ll eventually face the question: What’s the right way to look up values in a
std::map or std::unordered_map? For simplicity, we’ll refer to both containers as maps in this post.
How to Look up Values in a Map
by Sandor Dargo
From the article:
Let’s explore the different options — along with their pros and cons.
operator[]Using
operator[]is the old-fashioned way to access elements of a map. It takes a key and returns a reference to the corresponding value. The complexity is log(n) forstd::mapand average constant time (with worst-case linear) forstd::unordered_map.However, there’s a big caveat.
What if the key is not present in the map?
Unlike a
vector— where accessing an invalid index withoperator[]leads to undefined behavior — amapwill instead insert a new entry with the given key and a default-constructed value. This side effect makesoperator[]unsafe for lookups where insertion is not desired.
By niekb | Sep 27, 2025 02:00 PM | Tags: None
Passing a string temporary into a string_view can make the latter dangling
Safely passing std::strings and std::string_view
by Niek J Bouman
From the article:
Many of you will agree that C++ is a language that comes with sharp edges. One example is `std::string_view`; introduced as a type to prevent unnecessary std::string-copies, but it introduces a new footgun, namely when passing a temporary string into it: