Static Casting & Reinterpret Casting in C++ (NC)

Safer Casting at Compile Time

Reinterpret Casting: Memory Reinterpretation

const_cast: Removes or adds const or volatile qualifiers from or to a variable, connot change the type
it doesn't change the cv qualification of the original variable
ONLY USE IT TO PREVENT DUPLICATION FOR MEMBER FUNCTIONS