static_cast und reinterpret_cast für std :: align_storage

könnte jemand bitte das bisschen Code zum Einspielen erklärenhttp://en.cppreference.com/w/cpp/types/aligned_storage Bitte?

kann den folgenden Code

return *static_cast<const T*>(static_cast<const void*>(&data[pos]));

ersetzt werden durch

 return *reinterpret_cast<const T*>(&data[pos]);

?

Warum werden hier zwei Gussteile verwendet? Danke vielmals.

Hong