1. 首页
  2. 编程语言
  3. C
  4. C++中4种强制类型转换的区别详析

C++中4种强制类型转换的区别详析

上传者: 2021-08-05 19:55:13上传 PDF文件 97.86 KB 热度 10次

  2.C风格的转换没有统一的关键字和标示符。对于大型系统,做代码排查时容易遗漏和忽略。  C++风格完美的解决了上面两个问题。相比之下因为dynamic_cast可以查看运行时信息,上例如果Base含有虚函数,那么drvPtrB就是一个空指针,不能操作Derived中_d的数据从而保证安全性,所以应该优先使用dynamic_cast。  2.static_cast和reinterpret_cast  static_cast虽然也不是一种绝对安全的转换,但是它在转换时,还是会进行必要的检测。reinterpret_cast完全是肆无忌惮,直接从二进制开始重新映射解释,是极度不安全的,再次提醒,不到万不得已,不要使用。

用户评论