操作符
操作符是用于对变量进行操作和处理的,操作符与变量、函数等一起构成了表达式。这里不再对操作符做过多的说明,仅以下表按照操作符的优先级列出各个操作符的使用格式以及含义。
操作符 | 优先级 | 使用格式 | 结合方向 | 功能 |
---|---|---|---|---|
() | 1 | (a+b) | 左 → 右 | 括号 |
[] | 1 | a[0] | 左 → 右 | 索引 |
-> | 1 | a->name | 左 → 右 | 指针成员访问 |
. | 1 | a.name | 左 → 右 | 对象成员访问 |
:: | 1 | std::string | 左 → 右 | 作用域操作 |
! | 2 | !(a<b) | 右 → 左 | 逻辑非 |
~ | 2 | ~a | 右 → 左 | 位反 |
++ | 2 | a++ | 右 → 左 | 自增 |
-- | 2 | a-- | 右 → 左 | 自减 |
- | 2 | -5 | 右 → 左 | 负号 |
* | 2 | *p | 右 → 左 | 指针解引用 |
& | 2 | &a | 右 → 左 | 取变量地址,引用 |
sizeof | 2 | sizeof(a) | 右 → 左 | 取变量位数大小 |
->* | 3 | 成员指针 | ||
.* | 3 | 成员指针 | ||
* | 4 | a*b | 左 → 右 | 乘 |
/ | 4 | a/b | 左 → 右 | 除 |
% | 4 | a%b | 左 → 右 | 取余 |
+ | 5 | a+b | 左 → 右 | 加 |
- | 5 | a-b | 左 → 右 | 减 |
<< | 6 | a<<2 | 左 → 右 | 二进制左移 |
>> | 6 | a>>2 | 左 → 右 | 二进制右移 |
< | 7 | a<b | 左 → 右 | 逻辑小于 |
<= | 7 | a<=b | 左 → 右 | 逻辑小于等于 |
> | 7 | a>b | 左 → 右 | 逻辑大于 |
>= | 7 | a>=b | 左 → 右 | 逻辑大于等于 |
== | 8 | a==b | 左 → 右 | 逻辑等于 |
!= | 8 | a!=b | 左 → 右 | 逻辑不定于 |
& | 9 | a&b | 左 → 右 | 位与 |
^ | 10 | a^b | 左 → 右 | 位异或 |
| | 11 | a|b | 左 → 右 | 位或 |
&& | 12 | a>b&&b<c | 左 → 右 | 逻辑与 |
|| | 13 | a>b||b<c | 左 → 右 | 逻辑或 |
?: | 14 | a>b?5:10 | 右 → 左 | 三元条件选择 |
= | 15 | a=5 | 右 → 左 | 赋值 |
+= 系列 | 15 | a+=5 | 右 → 左 | 复合赋值 |
, | 16 | int a,b,c; | 左 → 右 | 逗号 |