Guide Book

Guide Book

A reference you can read front to back or dip into. Every chapter explains the syntax, and most topics have a πŸ” Behind the scenes section you can open to see what Python is actually doing, the details classes usually skip. Look for 🧭 Scenario cards for real-world uses, and press Try it on any example, then open the Inspect tab to look inside.

  1. Chapter 1How C++ builds and runsPreprocess, compile, assemble, link β€” four steps, and why an error in each one looks completely different.
  2. Chapter 2Types & initialisationThe fundamental types, `auto`, the four initialisation syntaxes and why braces are the safe default.
  3. Chapter 3Objects, lifetime & memoryStack versus heap, scope and destruction order, dangling references, and the deterministic destruction that makes RAII possible.
  4. Chapter 4References & pointersThe difference between a second name and an address, `const` in all its positions, and how to choose a parameter type.
  5. Chapter 5RAII & smart pointersThe idea that makes C++ safe without a garbage collector β€” tie every resource to an object's lifetime, and let the destructor do the rest.
  6. Chapter 6Copy, move & value semanticsWhat the compiler generates for you, lvalues and rvalues, what `std::move` actually does, and the rule of five and zero.
  7. Chapter 7Classes & inheritanceAccess control, constructors and member initialisation, virtual dispatch and the vtable, and when inheritance is the wrong tool.
  8. Chapter 8TemplatesCompile-time code generation β€” function and class templates, deduction, specialisation, `constexpr if`, and C++20 concepts.
  9. Chapter 9Containers & algorithmsChoosing the right container, the iterator model that connects them to the algorithms, and the algorithms worth knowing by name.
  10. Chapter 10Strings, views & ranges`std::string` and its cheap non-owning view, formatting with `std::format`, and the C++20 ranges that finally made algorithms composable.
  11. Chapter 11Error handlingExceptions and the guarantees they come with, `std::optional` and `std::expected`, assertions, and when each is the right tool.
  12. Chapter 12Modern C++ & toolingLambdas, `std::optional`/`variant`/`any`, structured bindings, the features that changed how C++ is written β€” and the tools that keep it honest.
main.cpp
Loading editor…
No output yet
Press Run or βŒ˜β†΅ to compile and run your code.

Search

Jump to a lesson or a past run