const_cast
只能对指针或者引用去除或添加const属性。
static_cast
编译时处理
只有上行转换是安全的(上行转换:子类向基类的转换)
dynamic_cast
运行时处理且只能用于含有虚函数的类
上行转换是安全的,下行转换会进行类型检查。
转换不成功:指针返回空,应用抛出异常。
reinterpret_cast
1.指针和整数之间的转换
2.不同类型的指针/成员指针/引用之间的转换
const_cast
只能对指针或者引用去除或添加const属性。
static_cast
编译时处理
只有上行转换是安全的(上行转换:子类向基类的转换)
dynamic_cast
运行时处理且只能用于含有虚函数的类
上行转换是安全的,下行转换会进行类型检查。
转换不成功:指针返回空,应用抛出异常。
reinterpret_cast
1.指针和整数之间的转换
2.不同类型的指针/成员指针/引用之间的转换