C++ 中的常规类型转换、static_cast 和 dynamic_cast


static_cast − 用于普通类型转换。它也负责隐式类型转换,也可以显式调用。应该将其用于浮点数转换为整数、字符转换为整数等情况。

dynamic_cast − 用于处理多态性。只有在转换为派生类时才需要使用它。它专门用于继承中,从基类转换为派生类。

常规类型转换 − 这是 C++ 中最强大的类型转换,因为它结合了 const_cast、static_cast 和 reinterpret_cast,但它也不安全,因为它不使用 dynamic_cast。这也称为 C 风格的类型转换。

其他可用的类型转换

const_cast − 可用于移除或添加变量的 const 属性。如果需要添加/移除变量的 const 属性,这将非常有用。

reinterpret_cast − 使用起来最棘手。它用于重新解释位模式,并且非常底层。它主要用于将原始数据位流转换为实际数据或将数据存储在对齐指针的低位中。

更新于:2020年6月24日

11K+ 浏览量

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.