A Crossword for CppCon 2025 – Solutions

See https://www.elbeno.com/blog/?p=1795 (or https://crosshare.org/crosswords/aZ0lpCTDSztWEsvvuboa/cppcon-2025) if you want to try it. If you’re here for solutions, read on. Definitions are given in italics. My personal likes are 4D and 13D. 1A BABBAGE Supergroup among leaders to back grant endowment for computing pioneer (7) ABBA (“supergroup”) inserted into (“among”) BGE (“leaders to Back Grant Endowment”) 5A MAD… Continue reading A Crossword for CppCon 2025 – Solutions

Published
Categorized as C++, Games

A Crossword for CppCon 2025

Another year, another crossword. With some of the clues/answers vaguely themed. You can solve it online or offline with the PDF. Answers after the con.

Published
Categorized as C++, Games

Formatted Diagnostics with C++20

C++26 adds formatted diagnostics with static_assert, something like this: The benefit of course is that when such an assertion fails, the compiler outputs a diagnostic that we control. But can this be done in C++20? Well, this is C++! So the answer is a qualified yes – we can get the compiler to output our… Continue reading Formatted Diagnostics with C++20

Published
Categorized as C++

A Crossword for CppCon 2024

As well as being a C++ enthusiast, I’m a bit of a cruciverbalist. I do the Guardian cryptic every day (not in a particularly competitive time — I’d count sub-20 minutes as a good day), and sometimes others when I can. Like many Brits, I learned to do cryptic crosswords as a teenager. It’s true… Continue reading A Crossword for CppCon 2024

Published
Categorized as C++, Games

std::source_location is Broken

Everyone knows that the best way to get something done on the Internet is with an inflammatory title and a potentially incorrect contention, so here goes. What do you if you want to capture/log the filename of an assertion? Prior to C++20, you use good old __FILE__, which gives you a C-style array of chars.… Continue reading std::source_location is Broken

Published
Categorized as C++

C++23’s new function syntax

We’ve had a couple of ways to spell functions for a long time: And we’ve had a shortcut for that second one for a while, too: (Aside: notice where [[nodiscard]] is positioned, since C++23’s P2173, to apply to the lambda’s call operator.) All these ways to spell functions look the same at the call site.… Continue reading C++23’s new function syntax

Published
Categorized as C++

constexpr Function Parameters

The Set-up In C++, this doesn’t work: The compiler complains, quite rightly: Despite the fact that twice_square is a constexpr function, its parameter x is not constexpr. We can’t use it in a static_assert, we can’t pass it to a template, we can’t call an immediate (consteval) function with it. So far, so well known.… Continue reading constexpr Function Parameters

Published
Categorized as C++