Pebellslearn by building
RoadmapsMatrixCoursesSandboxSign in

Course details

C++

Learn what makes C++ fast and demanding, set up a compiler, and write real programs with operators, branches, loops, pointers, references and types. Every lesson builds on one small arcade game, Rocket Run.

Ready to learn6 sections · 20 lessons
Start learning

Course curriculum

Introduction to C++3 lessons

Meet the language behind game engines and browsers: how it turns source into machine code, the trade it asks you to make, and what it added on top of C.

  1. What Is C++?12 min
  2. Why Use C++12 min
  3. C vs C++12 min
Setting Up Your Environment3 lessons

Install a compiler, choose an editor or IDE, and compile and run Rocket Run's first line of output, reading compiler errors the fast way.

  1. Installing a Compiler12 min
  2. Code Editors and IDEs12 min
  3. Running Your First Program12 min
Basic Operations3 lessons

Predict what arithmetic, logical and bitwise operators produce: integer division, short-circuit conditions and power-up flags packed into one number.

  1. Arithmetic Operators12 min
  2. Logical Operators12 min
  3. Bitwise Operators12 min
Control Flow and Statements3 lessons

Choose between branches with if, else and switch, know when goto is acceptable, and pick the right loop for counting, waiting and asking at least once.

  1. if and else12 min
  2. switch and goto12 min
  3. for, while and do-while12 min
Pointers and References4 lessons

Use raw pointers and references to work on the original object instead of a copy, then learn where objects live in memory and the exact moment each one is destroyed.

  1. Raw Pointers12 min
  2. References12 min
  3. The Memory Model: Stack, Heap and Static12 min
  4. Lifetime of Objects12 min
Data Types4 lessons

See how static typing protects you, let auto deduce types, carry changing types safely with std::variant and std::any, and ask an object its real type with RTTI.

  1. Static Typing12 min
  2. auto — Letting the Compiler Deduce12 min
  3. Dynamic Typing with variant and any12 min
  4. RTTI — Asking a Type at Run Time12 min