Получи случайную криптовалюту за регистрацию!

В чем различия между dynamic_cast и reinterpret_cast? Правиль | Библиотека C/C разработчика | cpp, boost, qt

В чем различия между dynamic_cast и reinterpret_cast?

Правильный ответ может звучать так:

Динамическое приведение — это безопасное приведение по иерархии наследования, в том числе и для виртуального наследования. Проводит преобразование типа, предварительно убедившись (с помощью RTTI), что объект expression_from в действительности является объектом типа type_to. Если нет: для указателей возвращает NULL.

При reinterpret_cast результат не гарантирован, проверки не осуществляются.
Ограничения на expression_from: порядковый тип (логический, символьный, целый, перечисляемый), указатель, ссылка.
Ограничения на type_to: для порядкового типа или указателя — порядковый тип или указатель. Для ссылки — ссылка.

#вопросы_с_собеседований