C++ Fundamentals
Master the core building blocks of C++ — from your first program to control flow and functions.
Getting Started
The C++ Machine Model
Understand how C++ maps to hardware, the compilation pipeline from source to executable, translation units, and the crucial distinction between stack and heap memory.
Types, Values & the Type System
Explore C++'s fundamental types, fixed-width integers, initialization forms, auto deduction, and the const system that enforces correctness at compile time.
Variables, Scope & Lifetime
Learn the four storage durations, how scope and lifetime are distinct concepts, initialization pitfalls, and the static initialization order fiasco.
Expressions & Control Flow
Operators, Expressions & Conversions
Master operator precedence, arithmetic conversions, the dangers of signed/unsigned mixing, and the four named C++ casts.
Control Flow & Loops
Master all C++ control flow constructs including if/else, switch, all loop forms, range-based for, C++17 initializers, and structured bindings.
Functions & Code Organization
Functions & Parameter Passing
Master the different ways to pass arguments in C++, understand return value optimization, function overloading, and modern attributes like [[nodiscard]].
Namespaces, Headers & the ODR
Organize code with namespaces, understand header/source file separation, the One Definition Rule, include guards, forward declarations, and ADL.
I/O: Streams, Formatting & std::print
Master C++ I/O from classic iostream to modern std::format and std::print, including stream states, file I/O, and common buffer pitfalls.