表达式:C++语音提供一套丰富的运算符,并定义了这些运算符作用于内置类型的运算符对象时所执行的操作
1、 表达式由一个或多个运算对象组成,对表达式求值将得到一个结果
2、 C++定义了一元运算符、二元运算符、三元运算符
3、 一元运算符:作用于一个运算对象
4、 二元运算符:作用于两个运算对象的运算符
5、 三元运算符:作用于三个运算对象的运算符
6、 对于含有多个运算符的复杂表达式来说想要理解它的含义首先要理解运算符的优先级、结合律、以及运算对象的求值顺序
结合律 运算符 功能 用法
左 :: 全局作用域 ::对象名
左 :: 类作用域 类名::对象名
左 :: 命名空间作用域 命名空间::对象名
左 . 成员选择运算符 对象名.成员
左 -> 成员选择 对象名->成员
左 [] 下标运算符 对象名[0开始的整数]
左 () 函数调用 函数名(参数列表)
左 () 类型构造 type(expr_list)
右 ++ 后置递增运算 对象++
右 – 后置递减运算 对象—
右 typeid 类型ID typeid(type)
右 typeid 运行时类型ID typeid(expr)
右 explicit cast 类型转换 cast_name(expr)
右 ++ 前置递增运算 ++对象
右 – 前置递增运算 --对象
右 ~ 位求反 ~expr
右 ! 逻辑非 !表达式
右 - 一元负号 -表达式
右 + 一元正号 +表达式
右 * 解引用 *表达式
右 & 取地址 &对象
右 () 类型转换 (type)表达式
右 sizeof 对象的大小 sizeof表达式
右 sizeof 类型的大小 sizeof(type)
右 sizeof 参数包的大小 sizeof……(name)
右 new 创建对象 new类型
右 new[] 创建数组 new 类型[数值大小]
右 delete 释放对象 delete对象