3.4 C++算数运算符

本文介绍了C++中的算术运算符优先级,从左到右的顺序为+,-,*,/,%,并强调了类型转换的重要性。在类型转换中,包括初始化和赋值时的转换、表达式中的自动转换以及强制类型转换,如static_cast。同时,提到了C++11中的auto关键字,它允许编译器根据初始值推断变量类型,简化了代码编写。
摘要由CSDN通过智能技术生成

3.4.1 5大算数运算符(优先级:自左向右)

  • +
  • -
  • *
  • /——(商与被除数数据类型相同)
  • %——(两个操作数必须是整型

3.4.2类型转换

  1. 初始化和赋值之间的转化

eg:so_long=so_short;   赋值时,程序将short扩展为long值,存在so_long中;

大转小可能会造成数据丢失,如float转化为int,丢失小数;long转化为short,超出取值范围等等;

将0赋给bool类型时,为false;非零值为true;

2.以{}方式初始化时进行的转换

C++11将使用大括号的初始化方式成为列表初始化(list-initialization),常用于给复杂的数据类型提供值列表;列表初始化不允许缩窄

3.表达式中的转换

自动转换:C++在计算表达式时,将bool,char,unsigned char,char ,short值转化为int,计算完成后再转化为相应的数据类型;

int通常是计算机最自然的类型,意味着int在计算机中运行速度可能最快;

4.强制类型转换

强制类型转换有两种表达式格式:(将thorn的int值改为long)

(long)thorn;--> (typename) value;

long (thorn);--> typename (value);

不会修改thorn本身的值!!!

以及新的强制转换运算符:

如static_cast<typename>(value)

3.4.3 C++11中的auto声明

auto能让编译器能够根据初始值的类型推断变量的类型。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值