Standard Library (STL)

Lessons in this group, roughly in build order:

  • containers-vector-array-list-deque — The sequence containers are RAII-owning, value-semantic data structures that store elements in a defined…
  • associative-containers-map-set-unordered-map — Key-indexed containers: ordered variants are balanced trees giving sorted O(log n) access, unordered…
  • iterators — Iterators are the generalized-pointer abstraction that lets one algorithm walk any container by decoupling…
  • algorithms-algorithm is a library of ~115 generic function templates that operate on iterator ranges, letting you…
  • std-string-std-string-view — std::string is an owning, heap-backed, mutable character buffer; std::string_view (C++17) is a non-owning…
  • utility-types-pair-tuple-optional-variant-any — A family of vocabulary types for ad-hoc aggregates and choices: heterogeneous bundles (pair/tuple), a…
  • std-span — std::span (C++20) is a non-owning {pointer, length} view over a contiguous block of elements — the…
  • function-objects-std-function — A function object (functor) is any type with operator(); std::function<R(Args…)> is a type-erased owner…
  • ranges-c-20 — Ranges reframe the STL around whole ranges instead of iterator pairs, adding composable, lazy views that…