-隐式类型转换

不要担心,如果你不明白这个功能的所有部分。只要小心溢出您的整数结果,它可以发生非常迅速,如果任何一参数是大。
测验
1)你知道日常数学表达式,括号内得到第一次评估。例如,在表达式(2 + 3)* 4,(2 + 3)的一部分,首先评估。
对于这个练习,给你一套没有括号的表达式。使用运算符的优先级和结合性上面表中的规则,添加括号每个表达清楚编译器如何将计算表达式。

提示:使用样式表中的列以上判断经营者是否是一元(有一个操作数)或二进制(有两个操作数)。综述部分1.5,首先看运营商如果你需要对一元和二元运算符是一个进修。


在上一节中的4.4 -隐式类型转换(强制),你知道,编译器有时会隐式转换一个值从一个数据类型到另一个。当您想从一个数据类型提升到一个更大的类似数据类型的值时,使用隐式类型转换系统是好的。
许多新的程序员尝试这样的东西:浮动F = 10 / 4;。然而,因为10和4都是整数,没有升级发生。在10 / 4上执行整数除法,产生2的值,然后将其隐式转换为2,并赋给F!
在使用文本值(如10或4)的情况下,用浮点文本值(或10)替换一个或两个整数的文本值(或4),将导致两个操作数转换为浮点值,并使用浮点数学来完成除法运算。
但是,如果你使用的变量是什么?考虑这种情况:


1
2
3
int i1 = 10;
int i2 = 4;
float f = i1 / i2;

变量F将以2的值结束。我们如何告诉编译器,我们要使用浮点除法,而不是整数除法?答案是通过使用一种类型的操作符(通常被称为一个演员)来告诉编译器做显式类型转换。一个演员是由程序员做一个类型转换的一个明确的要求。
型铸造
在C++中,有5种不同类型的转换:C风格转换,静态模型,动态模型,并将const,reinterpret cast。
我们将在本课C风格转换和静态模型。动态转换,我们将保存,直到我们覆盖指针。
const转换和reinterpret cast一般应避免因为他们在罕见的情况下才有用,可能是有害的如果使用不当。
规则:避免const转换和reinterpret cast的除非你有一个很好的理由去使用它们。
C风格转换
在标准的C编程中,通过操作符()操作符来完成强制转换,用类型的名称转换到内部。例如:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值