Explore the design space for runtime polymorphism in C++ through this comprehensive conference talk. Delve into alternative approaches to the traditional inheritance-based model, focusing on a policy-based solution that offers greater flexibility and efficiency. Learn how to implement runtime polymorphism with various storage options, including stack-allocated, heap-allocated, shared, and reference semantics. Discover techniques to fine-tune the dispatch mechanism, potentially outperforming classic virtual tables in certain scenarios. Gain insights from real-world examples based on the Dyno library implementation, while understanding the underlying principles that can be applied independently. By the end of the presentation, acquire a clear understanding of different runtime polymorphism implementations, their trade-offs, and guidelines for choosing the most appropriate approach for specific use cases.
Overview
Syllabus
C++Now 2018: Louis Dionne “Runtime Polymorphism: Back to the Basics”
Taught by
CppNow