Free to read ยท Three levels

Modern C++20: values, ownership, and reliable systems

A complete theory-led path from the first compiled program to safe ownership, generic interfaces, concurrency, and measured API design.

18 lessonsEnglish + ArabicContent reviewed
Start learning

In this course

Learn modern C++ through explicit contracts, original worked programs, diagnostic reasoning, and solved practice. Eighteen substantial lessons build a consistent model of values, object lifetimes, and resource ownership before introducing more advanced abstractions.

The baseline is C++20 with a conforming standard library. Every runnable program is complete and independent; thread examples also need the platform thread build option. Outputs describe defined successful executions, never a promised result for undefined behavior. Compiler and library availability are checked separately, and later-standard features are identified explicitly.

What you will learn

  • Write initialized, bounded, and testable C++20 value-oriented programs.
  • Apply RAII and modern ownership across containers, callbacks, and interfaces.
  • Use standard algorithms, concepts, and ranges with valid lifetime contracts.
  • Design race-free concurrency and evaluate performance with reproducible evidence.

Your learning path

Three levels

Who this is for

  • Self-study learners building a first rigorous C++ foundation.
  • Programmers moving from other languages into explicit lifetime and resource reasoning.

Before you start

  • Basic computer and terminal use; no previous C++ knowledge is required for the basic level.
  • A C++20 compiler and standard library; GCC/Linux command examples assume a Unix-like shell.