第四章:表达式
1. 在实际情况下,子表达式的计算顺序通常是初学者出错的根源,因此在你记不住某些操作符的计算顺序时,加括号明确指定计算顺序。
2. 只要能够得到表达式的值true 或false 运算就会结束,给定以下形式
expr1 && expr2
expr1 || expr2
如果下列条件有一个满足
在逻辑与表达式中expr1 的计算结果为false
在逻辑或表达式中expr1 的计算结果为true
则保证不会计算expr2
3. 逗号表达式是一系列由逗号分开的表达式,这些表达式从左向右计算,逗号表达式的结果是最右边表达式的值。
4. 操作符的优先级和结合性(当然你也可以查书确认,但是既然你都记不住,我想大部分也是记不住的),如第一点所说,加括号来明确计算顺序。
5. 类型转换:
l 隐式类型转:C++定义了一组内置类型对象之间的标准转换在必要时它们被编译器隐式地应用到对象上。
l 算术转换:算术转换保证了二元操作符如加法或乘法的两个操作数被提升为共同的类型,然后再用它表示结果的类型。两个通用的指导原则如下:
1 为防止精度损,失如果必要的话类型总是被提升为较宽的类型
2 所有含有小于整型的有序类型的算术表达式在计算之前,其类型都会被转换成整型
l 显示转换:强制类型转化(cast)