Skip to content

Advanced

You ship C++ and want depth. This track covers the machinery: value categories and perfect forwarding, template metaprogramming and concepts, compile-time programming, the memory model and concurrency, coroutines, performance engineering, undefined behavior, idiomatic design patterns, ranges, and shipping libraries.

Prerequisites

Finish the intermediate track — or be fluent with RAII, smart pointers, the rule of five, templates, STL algorithms and lambdas, CMake, and a test framework.

Lessons

# Lesson You'll learn
1 Move semantics & perfect forwarding value categories, &&, forwarding references, std::forward, RVO
2 Variadic & advanced templates parameter packs, fold expressions, type traits, SFINAE, CRTP
3 Concepts requires, standard concepts, writing your own, overloading on constraints
4 constexpr & compile-time programming constexpr/consteval/constinit, compile-time containers, static_assert
5 Concurrency: threads, mutexes & atomics std::jthread, data races, std::mutex, condition variables, atomics, the memory model
6 Async, futures & coroutines std::async, promises, thread pools, co_await/co_yield, std::generator
7 Performance & profiling benchmarking, perf, cache effects, allocation, data-oriented design
8 Undefined behavior & sanitizers what UB is, the common kinds, ASan/UBSan/TSan/MSan, static analysis
9 Design patterns, the C++ way RAII everywhere, pimpl, type erasure, CRTP, policy-based design, visitors
10 Ranges & views lazy pipelines, views, range adaptors, writing your own view
11 Libraries, ABI & packaging static vs shared libs, symbol visibility, ABI stability, CMake export, vcpkg/Conan, modules
12 Capstone: parallel file indexer a concurrent, benchmarked, sanitizer-clean application, end to end

When you're done

Build the indexer capstone to the self-check bar: clean under ASan, UBSan, and TSan; benchmarked with a measured speedup; packaged as an installable CMake project. Then stop studying and go build something real.