const_cast 将转换掉表达式的const性质。只有使用const_cast才能将const性质转换掉。
除了添加或删除const特性,用const_cast符来执行其他任何类型,都会引起
编译错误。
static_cast 可以转换编译隐式转换的任何类型转换。
reinterpret_cast 通常用于指针之间的类型转换。
dynamic_cast 将基类类型对象的引用或指针转换为同一继承层次中其他类型的引用或指针。dynamic_cast
涉及到运行时的类型检查。如果绑定到引用或指针时的对象不是目标类型的对象,则dynamic_cast
失败,如果是指针类型的转换失败,则转换结果是0值如果是引用类型转换失败,则会抛出异常。
除了添加或删除const特性,用const_cast符来执行其他任何类型,都会引起
编译错误。
static_cast 可以转换编译隐式转换的任何类型转换。
reinterpret_cast 通常用于指针之间的类型转换。
dynamic_cast 将基类类型对象的引用或指针转换为同一继承层次中其他类型的引用或指针。dynamic_cast
涉及到运行时的类型检查。如果绑定到引用或指针时的对象不是目标类型的对象,则dynamic_cast
失败,如果是指针类型的转换失败,则转换结果是0值如果是引用类型转换失败,则会抛出异常。