C++四种新式转型的功能

  1. C风格的转型动作
(T)expression //将expression转型为T
  1. 函数风格的转型动作
T(expression) //将expression转型为T
  1. C++的四种新式转型
const_cast<T>(expression)
dynamic_cast<T>(expression)
reinterpret_cast<T>(expression)
static_cast<T>(expression)
  • const_cast: 是唯一能用来将对象的常量性转除的转型操作符。
  • dynamic_cast: 主要用来执行“安全向下转型”,也就是用来决定某对象是否归属继承体系中的某个类型(将pointer-to-derived转为pointer-to-base)。唯一无法用旧式语法执行的动作,也是唯一可能耗费重大运行成本的转型动作。
  • reinterpret_cast: 目的是执行低级转型(如将pointer-to-int 转型为int),实际动作及结果可能取决于编译器,这就表示它不可移植。
  • static_cast: 用来强迫隐式转换,也可以用来执行上述多种转换的反向转换。

猜你喜欢

转载自blog.csdn.net/gaggagaasd/article/details/108895670