C++ 中操作符優先級決定表達式計算順序。本文通過「買西瓜」實例講解優先級規則,並給出使用括號提升可讀性的最佳實踐。
| 級別 | 操作符 | 說明 |
|---|---|---|
| 1 | () | 括號,最高,內層優先 |
| 2 | ! +(正) -(負) ++ -- | 一元操作符 |
| 3 | * / % | 乘除取模 |
| 4 | + - | 加減 |
| 5 | > >= < <= == != | 關系比較 |
| 6 | && | 邏輯與 |
| 7 | || | 邏輯或 |
| 8 | = += *= /= %= | 賦值 |
條件:fPrice * fWeight < 100 && !bBad
假設 fPrice=8.2, fWeight=10.3, bBad=false
!bBad → true(一元 ! 最高)fPrice * fWeight → 84.46(乘法優於比較)84.46 < 100 → true(關系操作符優於邏輯與)true && true → true(邏輯與)最終結果:買西瓜!
雖然編譯器按優先級計算,但人類閱讀代碼時需心理模擬。建議: