Я читаю книгу, и я обнаружил, что reinterpret_cast
не следует использовать напрямую, а скорее приведение к void * в сочетании с static_cast
:
T1 * p1=...
void *pv=p1;
T2 * p2= static_cast<T2*>(pv);
Вместо:
T1 * p1=...
T2 * p2= reinterpret_cast<T2*>(p1);
Однако я не могу найти объяснения, почему это лучше, чем прямой бросок. Я был бы очень признателен, если кто-то может дать мне объяснение или указать на ответ.
Заранее спасибо
p.s. Я знаю, для чего используется reinterpret_cast
, но я никогда не видел, чтобы это использовалось таким образом.