C++ / Intermediate

C++ β€” Intermediate

Manage ownership and state safely while composing algorithms and a repeatable development workflow.

6 lessons Β· No account required

What you will learn

  • Apply RAII, move semantics, templates, and exception guarantees.
  • Diagnose failures with targeted tests and tool-supported evidence.
  1. RAII, lifetimes, and smart pointers

    Tie resource release to object lifetime, distinguish owning handles from borrowers, and select unique or shared ownership only when the design requires it.

    Start learning
  2. Copy, move, and value semantics

    Reason about independent values and ownership transfer, without inferring unspecified moved-from contents or counting optimizations as language guarantees.

    Start learning
  3. Algorithms, iterators, and containers

    Compose standard algorithms over valid iterator ranges, honor their preconditions, and choose containers by required operations rather than familiarity.

    Start learning
  4. Templates, lambdas, and reusable operations

    Generalize a useful operation across types, then pass behavior as a callable while making captured state and its lifetime explicit.

    Start learning
  5. Exceptions and state guarantees

    Use exceptions for documented failure paths, let RAII clean up, and design operations so failed work cannot silently corrupt an object.

    Start learning
  6. Build, test, and debug systematically

    Create a repeatable C++20 build, test observable contracts, and use diagnostics to investigate failures without mistaking tools for a correctness proof.

    Start learning
Back to course