Skip to content
Why is a raven like a writing desk?

Thoughts both confusing and enlightening.

Why is a raven like a writing desk?

Thoughts both confusing and enlightening.

Category: C++

C++23’s new function syntax

elbeno, 5 September, 20225 September, 2022

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…

constexpr Function Parameters

elbeno, 29 August, 202229 August, 2022

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….

Familiar Template Syntax IILEs

elbeno, 23 October, 20196 May, 2024

A lot has already been said in the blogosphere about the use of immediately-invoked lambda expressions (IILEs) for initialization, and they’re certainly very useful. In C++20, P0428 gives us “familiar template syntax” for lambdas. Now, instead of writing a regular generic lambda: we have the option to use “familiar template…

Remember the Vasa! or, plus ça change, plus c’est la même chose

elbeno, 12 August, 201915 September, 2021

I’ve been programming in C++ for almost a quarter of a century now. I grew up, professionally, with C++, and in many ways, it grew up along with me. For someone who is used to C++, even used to recently-standardised C++, it’s hard not to feel apprehension when looking at…

Thoughts on Modern C++ and Game Dev

elbeno, 1 January, 20191 January, 2019

TL;DR: The C++ committee isn’t following some sort of agenda to ignore the needs of game programmers, and “modern” C++ isn’t going to become undebuggable. — Over the past week there has been an ongoing conversation on Twitter about how many people — especially those in the games industry —…

Pointer-to-member-functions can be tricky

elbeno, 31 August, 201831 August, 2018

Note: the following applies to Microsoft’s compiler only — not to GCC or Clang. Pointers-to-member-functions (PMFs) are a bit off the beaten track in C++. They aren’t very syntactically pleasing, and they aren’t as easy to deal with as regular pointers-to-free-functions (PFFs). But they still see use, particularly in pre-C++11…

C++Now 2018 Trip Report

elbeno, 16 May, 201816 May, 2018

Last week, a little fewer than 150 C++ programmers gathered in Aspen, CO for C++Now 2018. This year the conference was scheduled before Mother’s Day, so with it being quite a bit earlier than usual, I was half-expecting snow and travel delays. In fact last week turned out to be…

10 Non-C++ Book Recommendations for C++ Programmers

elbeno, 19 January, 2018

So you’ve learned enough C++ to function. You’ve read a bunch of the usual recommendations: Meyers, Stroustrup, maybe even Alexandrescu and Stepanov. You know enough to recommend Lippman et al. to newbies rather than the other “C++ Primer.” The internet has lots of C++-related book recommendations to make — for…

CppCon 2017 Trip Report

elbeno, 30 September, 201730 September, 2017

Last week in Bellevue, WA, around 1100 C++ programmers got together for CppCon. I love this conference – it’s a chance to meet up with my existing C++ community friends and make new ones, to learn new techniques and explore parts of C++, and to get excited about where C++…

Thoughts on Default Construction

elbeno, 16 August, 2017

What does default construction mean? Why do we write default constructors? When and why should we require them? I’ve been pondering these questions lately. One of the great things that C++ gets right is that it grants programmers the ability to create types that behave like built-in types. Many languages…

  • Previous
  • 1
  • 2
  • 3
  • …
  • 7
  • Next
©2026 Why is a raven like a writing desk? | WordPress Theme by SuperbThemes