C++運算符優先級
C++運算符優先級,是描述在計算機運算計算表達式時執行運算的先後順序。 先執行具有較高優先級的運算,然後執行較低優先級的運算。 例如,我們常說的先執行相乘和除,再執行加減運算。
優先級 | 運算符 | 說明 | 結合性 |
---|---|---|---|
1 | :: | 範圍解析 | 自左向右 |
2 | ++ -- | 後綴自增/後綴自減 | |
() | 括號 | ||
[] | 數組下標 | ||
. | 成員選擇(對象) | ||
−> | 成員選擇(指針) | ||
3 | ++ -- | 前綴自增/前綴自減 | 自右向左 |
+ − | 加/減 | ||
! ~ | 邏輯非/按位取反 | ||
(type) | 強製類型轉換 | ||
* | 取指針指向的值 | ||
& | 某某的地址 | ||
sizeof | 某某的大小 | ||
new,new[] | 動態內存分配/動態數組內存分配 | ||
delete,delete[] | 動態內存釋放/動態數組內存釋放 | ||
4 | .* ->* | 成員對象選擇/成員指針選擇 | 自左向右 |
5 | * / % | 乘法/除法/取余 | |
6 | + − | 加號/減號 | |
7 | << >> | 位左移/位右移 | |
8 | < <= | 小於/小於等於 | |
> >= | 大於/大於等於 | ||
9 | == != | 等於/不等於 | |
10 | & | 按位與 | |
11 | ^ | 按位異或 | |
12 | | | 按位或 | |
13 | && | 與運算 | |
14 | || | 或運算 | |
15 | ?: | 三目運算符 | 自右向左 |
16 | = | 賦值 | |
+= −= | 相加後賦值/相減後賦值 | ||
*= /= %= | 相乘後賦值/相除後賦值/取余後賦值 | ||
<<= >>= | 位左移賦值/位右移賦值 | ||
&= ^= |= | 位與運算後賦值/位異或運算後賦值/位或運算後賦值 | ||
17 | throw | 拋出異常 | |
18 | , | 逗號 | 自左向右 |