初入编程这一行时,很容易犯有关运算符优先级的问题,有点时候还会因为结合性犯一些不必要的错误,这里对这些问题做了简单的总结。
C++运算符一览表 | ||||
名称 | 运算符 | 举例 | 优先级 | 结合性 |
后增量、后减量 前增量、前减量 | ++ -- ++ -- | p++ --p | 2 3 | 右结合性
|
求字节运算符 | sizeof | sizeof(int) | 3 |
|
正号、负号 | + - | -1,+3 |
|
|
指针运算符 | * 和 & | *p,&x |
|
|
分配、回收空间运算符 | New delete | p=new int; delete p; |
|
|
强制类型转换运算符 | (type) | (int)x |
|
|
条件运算符 | ? : | a>b?x:y | 14 |
|
赋值运算符 | = 及其扩展(+= -= *= /= %= 等) | a=2 a+=2 | 15 |
|
逗号运算符 | , | a=1,b=2,c=3 | 16 | 左结合性 |
作用域区分符 | :: | ::x | 1 |
|
分量运算符 | . -> | p.next,p->next | 2 |
|
函数调用运算符 | () | fac() |
|
|
下标运算符 | [] | p[10] |
|
|
位运算符 | &(按位“与”) ^(按位“异或”) |(按位“或”) | 1&2 1^2 1|2 | 9 10 11 |
|
逻辑运算符 | && || ! | x&&y x||y !x | 12 13 3 |