Articles & Books

Annoucing Meeting C++ 2022

The dates and more has been announced for Meeting C++ 2022:

Announcing Meeting C++ 2022

by Jens Weller

From the article:

Meeting C++ 2022 (17th - 19th November) will be a hybrid event, returning to Berlin while also being an online event for all that can't make it to the Andels in Berlin.

After two years, this years conference will be the first hosted on site again. For 3 days Meeting C++ will offer the best of C++ in talks and 3 keynotes. Keynotes will be announced later, there is a long list of folks I'd like to keynote, but I haven't decided on this at the moment...

Zero-cost exceptions aren’t actually zero cost--Raymond Chen

The devil is in the details.

Zero-cost exceptions aren’t actually zero cost

by Raymond Chen

From the article:

There are two common models for exception handling in C++. One is by updating some program state whenever there is a change to the list of things that need to be done when an exception occurs, say, because a new exception handler is in scope or has exited scope, or to add or remove a destructor from the list of things to execute during unwinding. Another model is to use metadata to describe what to do if an exception occurs. There is no explicit management of the state changes at runtime; instead, the exception machinery infers the state by looking at the program counter and consulting the metadata...

WinReg: Simplify Windows Registry Programming in C++ -- Giovanni Dicanio

Windows Registry programming using the native C API is cumbersome and bug-prone. Fortunately, you can simplify that using a modern C++ library like WinReg.

Simplifying Windows Registry Programming with the C++ WinReg Library

by Giovanni Dicanio

From the blog post:

WinReg is a modern C++ library that exposes a high-level public interface to simplify the access to the Windows Registry.

 

Why not to use the STL?--Jeremy Ong

Why do you think?

Twitter thread

by Jeremy Ong

From the thread:

With all the discussion on the STL, I wanted to make a quick thread to summarize the main reasons why many AAA studios (correctly) opt out of the STL. This isn't to say the STL isn't for *anyone*, but the reasons to avoid using it aren't unfounded either...

Ways to Refactor Toggle/Boolean Parameters in C++--Bartlomiej Filipek

What's your preferred way?

Ways to Refactor Toggle/Boolean Parameters in C++

by Bartlomiej Filipek

From the article:

Boolean parameters in a function might be misleading and decrease its readability. If you have a poorly named function like:

DoImportantStuff(true, false, true, false);

As you can imagine, it’s not clear what all those parameters mean? What’s the first true? What does the last false mean? Can we improve code in such cases?

Let’s have a look at possible improvements...

Wordlexpr: compile-time Wordle in C++20 -- Vittorio Romeo

This article shows a fully compile-time implementation of the popular game Wordle in C++20, and explains its inner workings:

wordlexpr: compile-time wordle in c++20

by Vittorio Romeo

From the article:

It felt wrong to not participate in the Wordle craze, and what better way of doing so than by creating a purely compile-time version of the game in C++20? I proudly present to you… Wordlexpr!

https://www.youtube.com/watch?v=wp3LPrhu2Sk

My favorite C++20 feature--Marius Elvert

Did you know?

My favorite C++20 feature

by Marius Elvert

From the article:

As I evolved my programming style away from mutating long-lived “big” objects and structures and towards are more functional and data-oriented style based mainly on pure functions, I also find myself needing a lot more structs. These naturally occur as return types for functions with ‘richer’ output if you do not want to use std::tuple or other ad-hoc types everywhere. If you see a program as a sequence of data-transformations, I guess the structs are the immediate representations encoded in the type system...