Explanation of four forced conversion instances (c ++) and four forced conversion instances
Static_cast is closest to C-style conversion, but the compiler reports an error during unrelated class pointer conversion, improving security;
Double d = 3.14159265;
Int I = static_cast (d );
Dynamic_cast requires that the conversion type must be pointer or reference, and the base class must be polymorphism in the downstream conversion. If the downstream conversion is unsafe, dynamic_cast returns a null pointer, dynamic_cast always thinks that the conversion between void * is safe;
Reinterpret_cast can convert irrelevant class pointers, or even directly convert integer values to pointers. This type of conversion is underlying and has strong platform dependence and poor portability;
Class {};
Class B {};
A * a = new;
B * B = reinterpret_cast