第五章:表达式

1:操作符/ ,%

如果操作数2个正数,则结果正数;若是2个负数,则结果/是正数,%是负数;若1正1负,则由%机器决定,而/是负数。

2:机器决定:若随分子,则向0取;若随分母,则向负无穷取。

3:算术操作符:+,- ;* % / ;+ -

4:关系操作与逻辑操作,返回值都是bool型。

5:关于条件if(val==true);这里true相当于1,则就是判断val是否等于1;若if(val),则就是val非0即为真的效果,因为这里val相当于bool类型

6:左移右移,对于右操作数要求,非负数,且不能超过左操作数的位数值

7:未操作用U类型,用bitset类型比直接用位操作要安全,且方便。

8:左移右移在整型中是移动效果,而对于流类型被重载为输入输出流的操作。

9:表达式是右值;赋值操作的左操作数必须是左值,数组是不可修改的左值

10:赋值为右结合性,允许多个赋值操作连接一起,从右边看。

11:++,--只是在有必要时才使用后置操作符

12:解引用优先级是比点操作第很多的

13:唯一的3操作数的操作符,条件操作符

14:sizeof操作符 3中形式,对于sizeof exp 形式只能是变量而不能是类型

15:逗号操作符优先级最低,从左到右计算,返回最右表达式结果

16:圆括号牛逼于优先级;而在同优先级时得看结合性,有左结合性和右结合性,例如赋值就是右结合性,而+就是左结合性

17:求值顺序,有&& || , ?: 这四个,实质上求值顺序影响不大,除了处理同一变量时

18:若是int型为负数转为无符号整型,对无符号型的最大值加1求模就行了,比如2B则为65536,-1求65536的模就是65535

19:旧式强制转换为(int)2.3 或者int(2.3),c++中的转换为const_cast,static_cast,reinterpret_cast,dynamic_cast

posted @ 2014-10-15 09:13  miner007  阅读(163)  评论(0编辑  收藏  举报