--- title: "C++ Notes: Templates, Lambdas, constexpr and the STL" description: "Short, example-first notes on modern C++: template specialization and metaprogramming, overloading, lambdas, constexpr, variadic templates, tuples and unordered_map." date: 2021-05-07 02:20 last_modified_at: 2026-10-02 keywords: [C++, modern C++, templates, template metaprogramming, lambdas, constexpr, STL] notes: - { n: 1, title: "Template explicit vs implicit specialization", date: 2023-03-24 } - { n: 2, title: "Why foo(0) is ambiguous: ill-formed overloaded calls", date: 2023-03-24 } - { n: 3, title: "Template metaprogramming: Fibonacci", date: 2023-04-06 } - { n: 4, title: "Template metaprogramming: Factorial", date: 2023-04-06 } - { n: 5, title: "Lambda expressions in C++", date: 2023-04-06 } - { n: 6, title: "constexpr in C++", date: 2023-04-06 } - { n: 7, title: "Struct vs class in C++", date: 2023-04-06 } - { n: 8, title: "Variadic templates in C++", date: 2023-04-06 } - { n: 9, title: "Tuples in C++", date: 2023-04-06 } - { n: 10, title: "Unordered map in C++", date: 2023-04-06 } ---
Short, example-first notes on the corners of C++ I keep coming back to: templates, compile-time computation and the standard library.