欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C++ 旧式转型、类型转型方法

程序员文章站 2022-07-05 22:04:25
旧式转型: 1. C 风格的转型动作: (T) expression // 将 expression 转型为 T 2. 函数风格的转型动作: T ( expression )...

旧式转型:

1. C 风格的转型动作: (T) expression // 将 expression 转型为 T

2. 函数风格的转型动作: T ( expression ) // 将 T 转型为expression

C++ 类型转型:

1. const_cast 通常用来将对象的常量性转除。实现将const转换为non_const;它是唯一有此能力的操作符。

2. dynamic_cast 主要用来执行“安全向下转型”,即将基类类型对象的引用或指针转换为同一继承层次的派生类型的引用或指针。:Drived (&)drive = dynamic_cast < Drived (&)>(base);

3. reinterpret_cast 执行低级转换,通常为操作数的位模式提供较低层次的重新解释。例如将一个pointer to int 转型为一个 int 。

4. static_cast 强迫隐式转换。将non_const转换为const;将 int 转换为 double。同样也可以实现2中的将pointer_to_base转换为pointer_to_drived.