操作符

操作符是用于对变量进行操作和处理的,操作符与变量、函数等一起构成了表达式。这里不再对操作符做过多的说明,仅以下表按照操作符的优先级列出各个操作符的使用格式以及含义。

操作符优先级使用格式结合方向功能
()1(a+b)左 → 右括号
[]1a[0]左 → 右索引
->1a->name左 → 右指针成员访问
.1a.name左 → 右对象成员访问
::1std::string左 → 右作用域操作
!2!(a<b)右 → 左逻辑非
~2~a右 → 左位反
++2a++右 → 左自增
--2a--右 → 左自减
-2-5右 → 左负号
*2*p右 → 左指针解引用
&2&a右 → 左取变量地址,引用
sizeof2sizeof(a)右 → 左取变量位数大小
->*3成员指针
.*3成员指针
*4a*b左 → 右
/4a/b左 → 右
%4a%b左 → 右取余
+5a+b左 → 右
-5a-b左 → 右
<<6a<<2左 → 右二进制左移
>>6a>>2左 → 右二进制右移
<7a<b左 → 右逻辑小于
<=7a<=b左 → 右逻辑小于等于
>7a>b左 → 右逻辑大于
>=7a>=b左 → 右逻辑大于等于
==8a==b左 → 右逻辑等于
!=8a!=b左 → 右逻辑不定于
&9a&b左 → 右位与
^10a^b左 → 右位异或
|11a|b左 → 右位或
&&12a>b&&b<c左 → 右逻辑与
||13a>b||b<c左 → 右逻辑或
?:14a>b?5:10右 → 左三元条件选择
=15a=5右 → 左赋值
+=系列15a+=5右 → 左复合赋值
,16int a,b,c;左 → 右逗号

Tip

成员指针将在后文中说明。