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 | , | 逗號 | 自左向右 |