dynamic_cast
用以转换多态类型(polymorphic type).建立运行时检查将保证转换的有效性。如果该转换不是安全的,则抛出一个bad_cast异常。
static_cast
用以转换非多态类型。没有运行时检查。
const_cast
用以除去一个对象的常态(constness)和易失态(volatileness).
reinterpret_cast
用以将任何指针或者整形类型转换成另一个指针或整形变量。
例如:
reinterpret_cast <> (&pSome) 将一个双精度类型指针转换成void**