最容易理解的解释: dynamic_cast: 通常在基类和派生类之间转换时使用;下行转换是不安全的。 const_cast: 主要针对const和volatile的转换. static_cast: 一般的转换,如果你不知道该用哪个,就用这个。 下行转换是安全的。 reinterpret_cast: 用于进行没有任何关联之间的转换,比如一个字符指针转换为一个整形数。