应该在何时使用 static_cast、dynamic_cast、const_cast 和 reinterpret_cast?


const_cast

可用于删除或向变量添加 const。如果需要向变量添加/删除 const 性质,则这会很有用。

static_cast

这用于标准/普通类型转换。这也是负责进行隐式类型强制 Cast 的 Cast,也可以显式调用。当需要转换 float 为 int、char 为 int 等类型时,应使用它。

dynamic_cast

此 Cast 用于处理多态。在将某个对象 Cast 为派生类时,才需要使用它。这专门用于在从基类 Cast 为派生类时继承。

reinterpret_cast

这是最难使用的。它用于重新解释位模式,并且非常低级。它主要用于将原始数据位流转换为实际数据或将数据存储在对齐指针的低位。来说明这个问题。它主要用于将原始数据位流转换为实际数据或将数据存储在对齐指针的低位。

更新日期:30-Jul-2019

339 次浏览

开启你的 职业生涯

完成课程即可获得认证

开始使用
广告
© . All rights reserved.