0. 表达式的定义
C++中的表达式是一个递归的定义:
- 一个简单的运算对象,如字面值、变量等;
- 由多个运算对象和运算符的组合成新的表达式;
- 一个表达式可以作为一个运算对象,成为子表达式。
表达式有一个性质,就是可以求值,对表达式求值将得到一个结果。
运算对象可以是字面值、变量,也可以是自定义类型,详细内容请参考【C++深陷】之“类型与变量”。
运算符可以按照运算对象参与的数量,分为一元运算符、二元运算符、三元运算符和函数调用。函数调用是一种不限制运算对象数量的运算符。
关于运算符,需要注意如下4点:
- 优先级
- 结合律
- 求值顺序
- 运算符重载:含有自定义类型的表达式