Кто-нибудь может дать мне реальный пример случая, когда требуется dynamic_cast и его вообще нельзя обойти? Примеры, которые я могу придумать, обычно можно обойти с помощью двойной диспетчеризации.
Если ограничение слишком сильное, также был бы хорош пример, в котором обычно используется dynamic_cast.
Я хотел бы увидеть реальные примеры вместо «обычно используется для приведения типов вверх и вниз по дереву типов».