C ++程序中的常规强制转换vs.static_cast与dynamic_cast
static_cast-这用于普通/普通类型转换。这也是负责隐式类型强制的强制转换,也可以显式调用。在将float转换为int,将char转换为int等情况下,应使用它。
dynamic_cast-此强制转换用于处理多态。您只需要在转换为派生类时使用它。从基类转换为派生类时,只能在继承中使用它。
常规转换-这是C++中最强大的转换,因为它结合了const_cast,static_cast和reinterpret_cast。但这也不安全,因为它不使用dynamic_cast。这也称为C样式转换。
其他可用演员表
const_cast-可用于将const删除或添加到变量。如果有必要从变量中添加/删除常量,这将很有用。
reinterpret_cast-这是最棘手的。它用于重新解释位模式,并且级别极低。它主要用于将原始数据位流转换为实际数据或将数据存储在对齐指针的低位中。