Basically, the reinterpret_castreinterpret_cast reinterprets the bit pattern at a specific location as a different type.
See for example here: http://publib.boulder.ibm.com/infocenter/lnxpcomp/v7v91/index.jsp?topic=%2Fcom.ibm.vacpp7l.doc%2Flanguage%2Fref%2Fclrc05keyword_reinterpret_cast.htm
The reinterpret_cast operator produces a value of a new type that has the same bit pattern as its argument.
The static cast convertsA static cast converts the argument instead of just reinterpreting it. You can try this out by static_casting and intan int to floatfloat and reinterpret_casting an intint to floatfloat. The result will be totally different.