C++ learning resources from the past months

A selection of articles I’ve read and videos I’ve watched in the past months

I’m constantly learning and relearning new and old topics and I enjoy saving some resources so I can see them again later. I’m the understand-by-use type, but I can’t use everything I learn in my projects. And I want to keep some things in the back of my mind for when the moment comes, just to remember the keywords that I need.

Understanding is the key to knowledge. If I don’t understand something, I will at most get things to work, but there are many cases when it’s not enough for things to just work. And I don’t understand a lot of subjects. So I come to them again and again, maybe months or years after I have studied or worked with them, including the most basic ones.

Articles

    • An easy start with how templates generate code. You’ll see how templates can save you time writing code, but also how a lot of code can be used in your applications without you really being aware.
    • Diving into the details of how C++ resolves a function call. Names, templates, overloads.
    • C++11 introduced a lot of new language and standard library features. The very long story is in the bible, but you can read a short practical guide of what the language came up with 10 years ago.
    • And if you want even a shorter and more concise list of features including C++11, C++14, C++17, C++20, here you have a cheatsheet of modern C++ language and library features.
    • Getting from short sources to a little longer ones, you can read about all C++ core language features.
    • I really enjoy reading about good design. Although this topic has its subjective and context-dependent corners, there are some known API design mistakes.
    • I’ve read multiple times about the Rule of Five and it’s a subject I’m sure I will come back to again.

Videos

Until last year I wasn’t a big video consumer, but I somehow clicked with the idea once I felt I’m not reading enough and wanted to get back my appetite for content.

    • Looking under the tip of the C++ iceberg with Scott Meyers in his Effective C++11/14 talk. Some years may have passed, but the knowledge remains active.
    • Sean Parent from Adobe shows how you can implement polymorphism without inheritance in C++. Although they have different attitudes, there is something about him that reminds me of Scott Meyers. They both have a special way of emphasizing important topics; they somehow make a subtle break when telling some words, really getting my attention.
    • Carl Cook talking about high performance in trading systems: optimizations, hotpaths, recycling memory, benchmarks, removing if statements, template-based configuration.
    • Tuning C++ code with advice from Chandler Carruth (leading the Clang team at Google). Benchmarks, CPUs, compilers, how to really measure performance.
    • It wasn’t the first time I heard OOP is dead. I can’t choose this side, but I sure enjoy choosing data-oriented design in some cases.
    • I used GDB probably once. It looked alright. But it’s more than alright, apparently. Besides the well-known breakpoints, it has many features including reversible debugging. See some demos with GDB tricks and features.

P.S. Have you ever asked yourself how often you should rotate your ssh keys?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.