There aren't many things left in modern C++ that don't fit the "Don't pay for what you don't use" paradigm. One of them is dynamic_cast. In this article, we'll find out what's wrong with it, and after that — try to find an alternative.
About dynamic_cast
Let's refresh our memory about the C++ basics. If you find that part boring, you can always skip it.