Everything you need to start to train your critical thinking and help you catch bugs today
25 real-world C++ cases explained in detail, covering lifetimes, integer promotion, data races and real-time safety for all levels of C++ developers.

This is the most valuable piece of text I have ever read as a CS major. It has taught me a lot more about C++ than I have learned in my university in the last 3 semesters.
Muhammad T.
What I've put together
It’s not just a book. It’s a decade of hard-won C++ experience, without the decade.
Code that seems to work isn’t code that is guaranteed to work. It took me years to learn to think critically about my code and make it hold up in the wild.
This book is the result: 25 real C++ bugs that humbled me, and what they taught me.
A beautiful PDF containing 25 real life C++ bugs and their solutions
This book covers a lot of different bugs. All cases have a complete breakdown to make sure you understand the bug. Most show how tooling, compiler flags and use of sanitizers or static analysers can help avoid these bugs.
Every chapter is designed to be as independent as possible, so you can read them in almost any order, at any time. Some bugs you will recognise immediately depending on your expertise, but I dare to bet you don't know half of them.
One reader said: "good bug puzzles" and that's exactly what it is. This book is designed to train your brain with real c++ bugs to make you a better C++ developer, while having fun.
Every case can directly be compiled and run within you web browser so you can examin the behavior of the program for yourself.
All the cases

This book shows how easily the wrong consequences can stay hidden, and helps develop the right way of thinking. Short examples, a calm layout, and clear explanations of the why and the fix.
Bart van H.
What You'll Receive

A PDF with 25 C++ Cases Spread Out Over 55+ Pages

Every Case Explained With Insights, Tips And Tricks And Links To Other Resources

Compile Every Case And Run In Compiler Explorer

Case Topics Include Lifetimes, Integer Promotion, Data races and Real-Time Safety, And Much More.

Learn How Compilers, Platforms and C++ Versions Affect Your Code

Free Bonus Included: Preventive Care for C++ Checklist
Case 01 The Eternal Button
This book walks you through some pitfalls and C++ caveats you usually only learn by getting bitten in production. It's insightful and entertaining and will help me write more secure code. A must read!
Salem B.
Ready To Be Humbled?
What Other's Have Said

The core concepts are often straightforward, but their specific expression introduces subtleties, which this book does an incredible job bringing out. The layout is highly practical, with code syntax that blends perfectly into the text, and direct Compiler Explorer links that eliminate all friction to testing the examples.
Ankur A.

I have been working with C++ for many years, but the cases in this book taught me a bunch of things I never knew about the nooks and crannies of the language. Pair this book with your favorite compiler and explore them for yourself.
Brendan L.

Jelle Bakker turns subtle C++ bugs into short, interesting puzzles. The explanations are clear and practical. I especially enjoyed the lambda cases, which expose surprising traps around ownership and object lifetime. It’s a fun way to sharpen your C++ instincts.
Mark W.
The Face Behind The Doctor
Jelle has been a C++ engineer for over a decade, contributing to a wide range of commercial products. He’s driven by a passion for writing high-quality code, and when he realized how many developers struggle to write good C++ code he founded C++ Doctor. Aiming to help others write clean, bug-free C++ through educational content delivered via newsletters, LinkedIn, eBooks and other products.
Jelle has spoken at the Audio Developer Conference, and is the author of The Anatomy of C++ Lambdas. He’s also the founder of MPE HUB, a tool that brings MPE MIDI support to any synth.



