您的位置:首页 > 编程语言 > C语言/C++

C++ 初学者指南 第二篇(12)强制类型转换

2013-06-26 09:47 225 查看
必备技能2.10:强制类型转换
    我们还可以把一个表达式的值强行地转换为某种特定的类型,这叫做强制类型转换。强制的类型转换是一种显示的类型转换。C++定义了五种强制的类型转换。其中四种在转换的时候是允许有多细节的控制的,我们将在后面学习到对象以后再介绍。剩下一种是我们现在就可以学习的。它就是C++中最常用的强制类型转换。它可以把任意的类型转换成别的类型。它也是早期版本的C++唯一支持的转换。他的通用形式如下:

(type)expression

这里,type代表的是目标类型,是我们要把expression转换成type的类型。例如:如果我们希望表达式x/2是按照浮点数的方式来运算的,就可以这样写:

(float) x / 2;

强制类型转换被认为是一种运算符。作为一种运算符,它是单目的,和其它单目的运算符有着相同的优先级。

    有时候,强制类型转换是非常有用的。例如,我们可能用到整数来做循环控制,但是还需要对其按照float类型类进行运算,正如下面的程序所展示的一样:

// Demonstrate a cast

#include <iostream>

using namespace std;

int main() 

{

    int i;

    for (i=1; i <= 10; ++i )

        cout << i << " / 2 is: " << (float) i / 2 << '\n';

    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),就只能进行整数的除法了。在这里,强制类型转换确保了我们想要的答案的小数部分。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: