dynamic_cast:子类转父类时候用, const_cast:消除const和volatile属性,但不改变类型 static_cast:当且仅当二者可以隐式转换时用 reinterpret_cast:比较自由,但是也非万能的