AFAIK, для указателей/ссылок static_cast, если определение класса не видно компилятору в этой точке, тогда static_cast будет вести себя как reinterpret_cast.
Почему static_cast небезопасно для указателей/ссылок и безопасно для числовых значений?