A problem-first tour of the C++ that arrived with C++11 and matured through C++17. Instead of reading about a feature, you implement the one function that makes it click — a move constructor, a forwarding factory, an RAII handle — and run it against a doctest suite in the browser. Where the point is a rule to recognise rather than code to write (what std::move really does, when a shared_ptr destroys its object), the card asks a multiple-choice question instead.
The topic moves through eight themed stages:
const& and && overloads pick by value category; what std::move is (a cast).std::forward in one-, two- and variadic-argument factories.unique_ptr, shared_ptr counting, weak_ptr observation, and breaking ownership cycles.std::tuple and std::get, structured bindings, std::tie comparisons, plus std::optional, std::variant with std::visit, and std::string_view.std::shuffle, typed std::chrono durations, duration_cast, and timing work with steady_clock.regex_match, regex_search, capture groups, sregex_iterator, and regex_replace.Exercises target GCC 14 in C++17 mode. Reference solutions are one click away, and each hint teaches the why — not just the call to make.