static_cast基本上与C旧式转型具有相同的威力与意义,以及相同的限制。例如,你不能将struct转化为int,或将都变了转换为pointer。甚至不能移除表达式的常量性,应由const_cast完成。
const_cast完成移除表达式的常量性,而要添加表达式的常量性,应由static_cast完成
dynamic_cast主要在有子父类继承关系中,完成类型之间的转换,从而实现多态。如是指针,转换失败返回空,如是引用,转换失败抛出异常。
reinterpret_cast。此转换操作符总是与编译器息息相关,不具备可移植性。最常用的用途为转换函数指针。