Casting via void * anstelle von reinterpret_cast
Ich lese ein Buch und habe das gefundenreinterpret_cast
sollte nicht direkt verwendet werden, sondern zum Erlöschen * in Kombination mitstatic_cast
:
T1 * p1=...
void *pv=p1;
T2 * p2= static_cast<T2*>(pv);
Anstatt:
T1 * p1=...
T2 * p2= reinterpret_cast<T2*>(p1);
Ich kann jedoch keine Erklärung finden, warum dies besser ist als die direkte Besetzung. Ich würde mich sehr freuen, wenn mir jemand eine Erklärung geben oder mich auf die Antwort hinweisen kann.
Danke im Voraus
p.s. Ich weiß was istreinterpret_cast
verwendet für, aber ich habe nie gesehen, dass auf diese Weise verwendet wird