| 類別 | 運算子 | 說明 | 範例 |
|---|---|---|---|
| 算術 | + | 加 | x = y + z; |
| - | 減 | x = y - z; | |
| * | 乘 | x = y * z; | |
| / | 除 | x = y / z; | |
| 指派 | = | 指派 | x = 10; |
| += | 指派加 | x += 10; (等同 x = x + 10;) | |
| -= | 指派減 | x -= 10; | |
| *= | 指派乘 | x *= 10; | |
| /= | 指派除 | x /= 10; | |
| &= | 指派位元 AND | x &= 0x02; | |
| |= | 指派位元 OR | x |= 0x02; | |
| 邏輯 | && | 邏輯 AND | if (x && 0xFF) {...} |
| || | 邏輯 OR | if (x || 0xFF) {...} | |
| ! | 邏輯 NOT | if (!valid) {...} | |
| ~ | 位元 NOT | x &= ~0x02; | |
| 比較 | == | 等於 | if (x == 10) {...} |
| != | 不等於 | if (x != 10) {...} | |
| < | 小於 | if (x < 10) {...} | |
| > | 大於 | if (x > 10) {...} | |
| <= | 小於等於 | if (x <= 10) {...} | |
| >= | 大於等於 | if (x >= 10) {...} | |
| 一元 | * | 間接存取 | int x = *y; |
| & | 取址 | int *x = &y; | |
| ++ | 遞增 | x++ (等同 x = x + 1;) | |
| -- | 遞減 | x--; | |
| 類別/結構 | :: | 範圍解析 | MyClass::SomeFunction(); |
| -> | 間接成員存取 | MyClass->SomeFunction(); | |
| . | 直接成員存取 | MyClass.SomeFunction(); |
範例:
int x = 10;
cout << "x = " << x++ << endl; // 輸出 10
cout << "x = " << x << endl; // 輸出 11
cout << "x = " << ++x << endl; // 輸出 12
遞減運算子同理。
C++ 允許運算子多載:程式設計師可透過多載標準運算子,使其在特定類別中執行特定運算(如讓遞增運算子增加 10 而非 1)。這是進階技術。
同一符號在不同情境意義不同:* 可為乘號、指標宣告、解參考。初看混亂,多實踐自然適應。本書大量範例輔助理解,無需死記。