0
点赞
收藏
分享

微信扫一扫

C++类型转换

春意暖洋洋 2022-02-02 阅读 104
c++

C语言风格的类型转换符

  • (type) expression
  • type (expression)

C++中有4个类型转换符

  • static_cast
  • dynamic_cast
  • reinterpret_cast
  • const_cast
  • 使用格式:xx_cast(expression)

const_cast

一般用于去除 const 属性,将 const 转换成非 const。

dynamic_cast

一般用于多态类型的转换,有运行时安全检测。

static_cast

对比 dynamic_cast,缺乏运行时安全检测。

不能交叉转换(不是同一继承体系的无法转换)。

常用于基本数据类型的转换、非 const 转成 const。

使用范围较广。

reinterpret_cast

属于比较底层的强制转换,没有任何类型检查和格式转换,仅仅是简单的二进制数据拷贝。

可以交叉转换。

可以将指针和整数互相转换。

举报

相关推荐

0 条评论