不同情况下选择的强制类型转换:
使用场景 | 转换方法 |
移除类型的 const 属性 | const_cast() |
语言支持的显示强制转换(int->double, int-> float. eg) | static_cast() |
自定义的类型的构造函数或显示强制转换 | static_cast() |
按位复制 | bit_cast() |
在同一继承层级结构中,一个类的指针(引用)转换为另一个类的指针(引用) | dynamic_cast() 或 static_cast() |
指向一种类型的指针转换为其他无关类型的指针 | reinterpret_cast() |
指向一种类型的引用转换为其他无关类型的引用 | reinterpret_cast() |
函数指针 | reinterpret_cast() |