Posts
Sandor Dargo's Blog
Cancel

Keeping Code Reviews From Dragging

You know the feeling. You open a pull request on Monday morning. You ping the reviewer(s). You go to lunch. You come back. Nothing. You context-switch to something else. On Wednesday, the reviewer ...

C++26: Ordering of constraints involving fold expressions

You have two overloads of g(). One requires A<T> for each element in a pack, the other requires C<T> — where C is a stricter concept that subsumes A. Both apply to the types you’re pass...

C++26: More function wrappers

C++26 continues to fill the gaps in our type-erased callable wrapper story. We already had std::function since C++11 and std::move_only_function since C++23, but there were still missing pieces. No...

C++26: Standard library hardening

Undefined behavior (UB) in C++ is one of the hardest categories of bugs to deal with. It can silently corrupt memory, cause crashes far from the actual mistake, or — worst of all — just happens to ...

An Immigrant's Love Letter to the West by Konstantin Kisin

I recently stumbled upon the TRIGGERnometry podcast, which brands itself as a “free speech show”. It’s hosted by two (former) comedians, Konstantin Kisin and Francis Foster. I usually listen to the...

The Dev Ladder comes back home

If you’ve been reading this blog for a while, you might remember that it wasn’t always just about C++. For years, alongside the language features and investigations, I wrote about careers, feedback...

C++26: string and string_view improvements

Let’s continue our exploration of C++26 improvements. Today we focus on string_view. Some types got new constructors accepting string_views, and concatenation of strings and string_views just got e...

C++26: Structured Bindings can introduce a Pack

Last week, we talked about how C++26 improves structured bindings by allowing them to be used in conditionals’ init statements. We also briefly touched on other improvements coming in C++26, such a...

C++26: Structured bindings in conditions

Structured bindings were introduced in C++17 as an alternative way of declaring variables. They allow you to decompose an object into a set of named variables, where the collection of those binding...

Freestanding standard library

In some earlier articles, we used the term freestanding. We said that a freestanding implementation is one that operates without the support of a hosted operating system. Think embedded systems, OS...

For C++ developers who give a damn

Better code. Better career. One email a week on modern C++ and what it takes to grow — written by someone still figuring it out too.

    We won't send you spam. Unsubscribe at any time.