首页 > 代码库 > 第五章:表达式
第五章:表达式
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
第五章:表达式