在 C++ 中,应该在何时使用 static_cast、dynamic_cast、const_cast 和 reinterpret_cast?


const_cast

可用于为变量去除或添加 const。如果需要为变量添加/去除 constness,则可以使用此操作符。

static_cast

用于正常的/普通的类型转换。此转换操作符还负责隐式类型强制转换,并且可显式调用。你应该在诸如将 float 转换为 int、char 转换为 int 等情况下使用它。

dynamic_cast

此转换操作符用于处理多态性。只有在将类型转换为派生类时才需要使用它。它仅用于继承中,即从基类转换为派生类时。

reinterpret_cast

这是最难使用的操作符。它用于重新解释位模式,并且是极底层的。它主要用于以下操作:将原始数据位流转换为实际数据,或将数据存储在经过对齐的指针的低位中。

更新于: 2020 年 6 月 23 日

3K+ 浏览量

开启您的 职业生涯

完成课程即可获得认证

开始吧
广告
© . All rights reserved.