Skip to content
Module 1

C++ Fundamentals

Master the core building blocks of C++ — from your first program to control flow and functions.

Getting Started

  1. 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.

  2. 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.

  3. 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

  1. Operators, Expressions & Conversions

    Master operator precedence, arithmetic conversions, the dangers of signed/unsigned mixing, and the four named C++ casts.

  2. 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

  1. Functions & Parameter Passing

    Master the different ways to pass arguments in C++, understand return value optimization, function overloading, and modern attributes like [[nodiscard]].

  2. Namespaces, Headers & the ODR

    Organize code with namespaces, understand header/source file separation, the One Definition Rule, include guards, forward declarations, and ADL.

  3. 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.