个人理解 static_case dynamic_cast const_cast reinterpret_cast

dynamic_cast: 基类和派生类之间转换,主要是向下转型。具有RTTI检查.  C++通过虚表里存储一个typeinfo的结构, 从而获得类信息.  检查被转换指针是不是目标指针的子类等条件,不满足返回空。 

const_cast:   主要针对const和volatile的转换.  主要将const指针应用转换,可重新赋值。
static_cast:   一般的转换,编译时确定,检查类关系, 主要是向下转型,而不检查继承关系,有点不安全。  

reinterpret_cast:   用于进行没有任何关联之间的转换,比如一个字符指针转换为一个整形数, 很不安全。

你可能感兴趣的:(个人理解 static_case dynamic_cast const_cast reinterpret_cast)