В одной статье я обнаружил, что "static_cast используется для отливки не полиморфного типа, а dynamic_cast используется для литья полиморфного типа". Я понимаю, что int и double не являются полиморфными типами.
Однако я также обнаружил, что static_cast может использоваться между базовым классом и производным классом. Что означает полиморфный тип? Некоторые люди говорят, что полиморфный тип означает базовый класс с виртуальной функцией. Это правильно? Это единственная ситуация? Что еще? Может ли кто-нибудь это уточнить для меня?