Описание тега reinterpret-cast
Оператор C++, который просто позволяет преобразование между типами путем переинтерпретации базового битового шаблона. В общем случае это означает, что указатель должен быть преобразован в любой другой тип указателя, а также может позволить преобразование целочисленного типа в любой тип указателя и наоборот.
А reinterpret_cast
указывает компилятору "просмотреть" или обработать память, как если бы она была нового типа (приведения к ней).
В отличие от static_cast, но как и const_cast, выражение reinterpret_cast не компилируется ни в какие инструкции ЦП. Это чисто директива компилятора, которая инструктирует компилятор обрабатывать последовательность битов (представление объекта) выражения, как если бы она имела тип new_type.
Есть ограничения на то, что reinterpret_cast
может работать, оставаясь действительным, в частности, проблема с псевдонимом типов.