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

必备技能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),就只能进行整数的除法了。在这里,强制类型转换确保了我们想要的答案的小数部分。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值