C++ 初学者指南 第二篇(12)

必备技能2.10:强制类型转换
    咱们还能够把一个表达式的值强行地转换为某种特定的类型,这叫作强制类型转换。强制的类型转换是一种显示的类型转换。C++定义了五种强制的类型转换。其中四种在转换的时候是容许有多细节的控制的,咱们将在后面学习到对象之后再介绍。剩下一种是咱们如今就能够学习的。它就是C++中最经常使用的强制类型转换。它能够把任意的类型转换成别的类型。它也是早期版本的C++惟一支持的转换。他的通用形式以下:
(type)expression
这里,type表明的是目标类型,是咱们要把expression转换成type的类型。例如:若是咱们但愿表达式x/2是按照浮点数的方式来运算的,就能够这样写:
(float) x / 2;
强制类型转换被认为是一种运算符。做为一种运算符,它是单目的,和其它单目的运算符有着相同的优先级。
    有时候,强制类型转换是很是有用的。例如,咱们可能用到整数来作循环控制,可是还须要对其按照float类型类进行运算,正以下面的程序所展现的同样:
// Demonstrate a castios

#include <iostream>
using namespace std; express

int main()
{
    int i;学习

    for (i=1; i <= 10; ++i )
        cout << i << " / 2 is: " << (float) i / 2 << '\n';spa

    return 0;
}
程序的输出结果以下:
1 / 2 is: 0.5
2 / 2 is: 1
3 / 2 is: 1.5
4 / 2 is: 2
5 / 2 is: 2.5
6 / 2 is: 3
7 / 2 is: 3.5
8 / 2 is: 4
9 / 2 is: 4.5
10 / 2 is: 5
    若是上面的程序中没有强制的类型转换(float),就只能进行整数的除法了。在这里,强制类型转换确保了咱们想要的答案的小数部分。对象