类型转换
如果你有一个某种类型的变量,但需要在期望另一种类型的情况下使用它,那么你可以进行类型转换。

提升小整数
通常,对于小于 int 的整数类型,机器语言中没有数学运算符。因此,当 bTermAbTermB 都是 unsigned char 时,表达式 bTermA + bTermB 的编译结果会将这两个操作数提升为 int 类型后再进行加法操作。

强制类型转换
数学运算只能应用于两个相同类型的操作数。如果它们不是同一类型,那么其中一个将需要被“强制转换”(如果可能,编译器会自动插入隐式类型转换,将值的表示从一种类型转换为另一种类型)。

类型转换
“类型转换”是手动编写的类型转换表达式。

传统的C程序将类型转换写作 (float)iVar

C++程序将类型转换写作 static_cast<float>(iVar)

当从基类指针转换为派生类指针时,使用 dynamic_cast<> 而非 static_cast<> 会增加一个运行时检查,如果指向的对象实际上不是该派生类的实例,返回 NULL

最后修改: 2025年01月17日 星期五 21:53