C++ / Advanced

C++ β€” Advanced

Design constrained generic interfaces, safe views, polymorphic resources, and synchronized programs using measured tradeoffs.

6 lessons Β· No account required

What you will learn

  • Explain lifetime and synchronization obligations across API boundaries.
  • Evaluate architecture and performance without sacrificing correctness.
  1. Concepts and generic contracts

    Constrain generic interfaces with C++20 concepts, distinguish checked syntax from semantic laws, and keep diagnostics close to the caller.

    Start learning
  2. Ranges, views, and borrowing

    Compose C++20 range operations while keeping lazy evaluation, mutation, and the lifetime of underlying storage explicit.

    Start learning
  3. Resource safety across ownership boundaries

    Adapt external ownership to RAII, specify deletion and observation rules, and protect resource lifetimes when callbacks escape their creating scope.

    Start learning
  4. Polymorphism and alternative designs

    Choose runtime interfaces, templates, or closed variants according to extension needs while preserving ownership, destruction, and value semantics.

    Start learning
  5. Concurrency and synchronization

    Build race-free shared-state operations with mutexes and atomics, and distinguish deterministic final results from scheduling-dependent execution order.

    Start learning
  6. Performance measurement and API design

    Improve a correct program using representative measurements, then design interfaces that expose ownership, errors, complexity, and compatibility honestly.

    Start learning
Back to course