CMake and Ninja in Practice: Reproducible Native Builds
by Ana Petrova
A focused crash course that finally makes stack, heap and pointer syntax click.
AP Created by Ana Petrova
Every bullet below is something you will have built, shipped or be able to explain by the time you finish the last lesson.
4 modules · 9 lessons · 1h 8m of material
3 lessons running 22m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
3 lessons running 24m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
2 lessons running 14m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
1 lesson running 8m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
4 modules · 9 lessons
1h 8m total length
Short list, and deliberately so. If you meet these you can start today.
Pointers are the wall most C++ beginners hit, usually because they were explained with a diagram of boxes and arrows and never with running code. This one-hour crash course fixes the mental model. You watch addresses printed live, see the stack grow and shrink across function calls, and allocate on the heap until the difference stops being abstract.
Every lesson is short and hands-on. You will read and write the declaration syntax that trips people up, including pointer-to-const versus const pointer, arrays decaying to pointers, and why a reference is not just a nicer pointer. Then come the four classic failures, dangling pointers, double free, leaks and buffer overruns, each reproduced on purpose so you can recognise the symptoms in your own crashes.
The closing lessons show the modern escape hatch: unique_ptr, vector and span remove almost all raw memory management from everyday code. You finish knowing exactly what those types do underneath, which is the point of learning pointers in the first place.
Still unsure about something? Write to misteryjj100@gmail.com and a human answers, usually the same working day.
Reviews are written by people who bought this course. We publish the critical ones too.
4.1
Rated 4.1 out of 5Course rating · 9 reviews
Ingrid Halvorsen
Sixty minutes, no intro music, no biography. Addresses, then syntax, then the failure modes, then what to reach for instead. I wish more courses had this much discipline about their own running time.
Marta Kovač
Tech lead
I came to this from years of garbage-collected languages and needed the memory model back in my head before a code review. It did the job in one sitting. The span material does presume some familiarity with contiguous ranges that I did not have, which cost me a second viewing.
Nadia Osei
Backend engineer
The chapter on the four classic memory bugs is the bit I keep coming back to. I had been filing use-after-free and double-free under the same heading in my head, and they really are not the same failure with the same fix.
Tomas Rehak
Embedded developer
I have read the pointer chapter of three different books and none of them drew the stack frame the way this one does. Watching a local go out of scope and then seeing that same address handed to the next call made the whole dangling-pointer problem obvious rather than theoretical. An hour well spent for the price of a coffee.
Rafael Duarte
Systems programmer
The trick of reading a declaration from the identifier outwards is taught better here than in anything else I have watched, and it alone is worth the fiver. Losing a star because array-to-pointer decay gets a single passing mention, and that is precisely the corner I keep cutting myself on at work.
Ben Kowalczyk
Junior C++ developer
read this before your first C++ job. the four minutes spent rewriting the raw new and delete example with unique_ptr and vector replaced most of what I thought I understood about ownership, and I have not typed a bare delete since.
Youssef Benali
CS student
solid intro and the pacing is right. my only wish is for a couple of guided exercises instead of watching the examples compile. I ended up writing a leak on purpose just to prove to myself I had followed it.
Elena Fischer
Self-taught, switching careers
Nothing in here is wrong and the modern-replacements chapter is genuinely useful. The problem is arithmetic: an hour split across addresses, declaration syntax, four bug classes and the smart pointer family means no idea gets a second pass. I rewound the heap walkthrough four times before it stuck. If you have never seen a pointer at all, this should not be your first stop.
Showing the 8 most recent of 9 reviews.
Systems engineer and C++ instructor
Ana spent nine years writing real-time C++ for trading infrastructure before moving into teaching full time. She specialises in the parts of the language people quietly avoid: templates, move semantics, custom allocators and the memory model. Her courses are built around profiling sessions on code that is deliberately slow, so every fix is something you measure rather than memorise. She still contributes to two open-source benchmarking libraries.
One-time payment · lifetime access