Question: what is the difference between static_cast and reinterpret_cast?
Answer: static_cast performs implicit conversions, the reverses of implicit standard conversions, and (possibly unsafe) base to derived conversions. reinterpret_cast converts one pointer to another without changing the address, or converts between pointers and their numerical (integer) values.