Использование приведения типов в стиле C ++ (все 4) выглядит точно так же, как некоторый шаблон функции . например,
template<typename TO, typename FROM>
TO dynamic_cast (FROM p);
будет использоваться как,
dynamic_cast<Derived*>(p); // p is Base*
Почему не разрешено перегрузить их стандартом языка для пользовательского использования? (например, мы можем перегрузить ключевые слова, такие как new / delete
или другие операторы
)