C++ | 表达式基础
基本概念
C++定义了一元运算符(unary operator)和二元运算符(binary operator)。作用于一个运算对象的运算符是一元运算符,如取地址符(&) 和解引用符();作用于两个运算对象的运算符是二元运算符,如相等运算符(==)和乘法运算符()。 除此之外,还有一个作用于三个运算对象的三元运算符。函数调用也是一种特殊的运算符,它对运算对象的数量没有限制。
递增与递减运算符
1 | int i = 0, j; |
建议:除非必须,否则不用递增递减运算符的后置版本
PS: *pbeg++等价于*(pbeg++)
条件运算符
cond? expr1: expr2;
其中cond是判断条件的表达式,而expr1和expr2是两个类型相同或可能转换为某个公共类型的表达式。条件运算符的执行过程是:首先求cond的值,如果条件为真对expr1求值并返回该值,否则对expr2 求值并返回该值。举个例子,我们可以使用条件运算符判断成绩是否合格:
1 | string finalgrade = (grade < 60) ? "fail" : "pass"; |
通过嵌套可以分为三级
1 | finalgrade = (grade > 90) ? "high pass" : (grade < 60) ? "fail" : "pass"; |