Book: cplusplus crash course by Josh Lospinoso
ch6/2_simple_unique_pointer_using_template.cpp: covers a lot of the concepts in a short example.
- ch6/5_requirements_and_concepts.cpp: cannot make it work (using c++20)
1. Setting up
2. Types (primitive and user-defined)
3. Reference type. auto.
4. Object lifecycle and different variable type (local, static, ...). Exceptions. Copy and Move sematics.
5. Runtime polymorphism (interface: pure virtual classes), constructor injection, property injection
6. Compile-time polymorphism: Template (named conversion (const_cast, static_cast, reinterpret_cast),
template, type_traits, requirements, concepts)