Overview
Explore advanced techniques for expressing implementation sameness and similarity in modern C++ through this comprehensive conference talk. Delve into a wide spectrum of tools beyond basic inheritance and runtime polymorphism, including templates, concepts, mixins, CRTP, and C++23's "deducing this". Examine the long-term software engineering costs and benefits of each mechanism, discussing trade-offs in runtime and compile-time overhead, code complexity, maintainability, and adaptability. Compare C++'s capabilities with other languages' features like dependency injection and aspect-oriented programming, and consider potential future additions to the C++ standard that could enhance expression of sameness.
Syllabus
Expressing Implementation Sameness and Similarity - Polymorphism in Modern C++ - Daisy Hollman
Taught by
CppCon