语法:Type_cast <type-name> (expression);
1. dynamic_cast:使得能够在类层次结构中进行向上转换。用于指针类型转换时,若不能安全转换则返回空指针;用于引用类型转换时,若不能安全转换则返回bad_cast异常。
2. const_cast:改变值为const或volatile,其type-name和expression的类型必须相同。当一个值大多数时是常量而有时需要修改时,可将值声明为const,并在需要修改时使用const_cast。
3. static_cast:仅当type-name可被隐式转换为expression所属的类型或expression可被隐式转换为type-name所属类型时,转换才为合法。因此可用于各种数值转换。
4. reinterpret_cast:允许将任何指针转换为任何其他指针类型,也允许任何整数类型转换为任何指针类型以及反向转换。