Sherlock的程序人生

c++数据类型转换

显示类型转换又称强制类型转换,C++的函数有四种:static_castdynamic_castreinterpret_castconst_cast

static_cast

static_cast<type-id>(expression)
  • expression 转换成 type-id 类型
  • 运行时没有类型检查来保证安全性

使用场景

  • void* -> 其他类型指针,但是不安全
  • 其他类型指针 -> void*
  • 基类和子类转换(指针或者应用均可)
    • 基类 -> 子类,下行转换,没有动态类型检查,不安全
    • 子类 -> 基类,上行转换,安全
  • 替代标准转换

dynamic_cast

dynamic_cast<type-id>(expression)
  • expression 转换成 type-id 类型
  • 在上/下行转换的时候有类型检查
posted @ 2019-10-20 17:27  sherlock_lin  阅读(207)  评论(0)    收藏  举报