| ア | イ | ウ | エ | オ |
| カ | キ | ク | ケ | コ |
| サ | シ | ス | セ | ソ |
| タ | チ | ツ | テ | ト |
| ナ | ニ | ヌ | ネ | ノ |
| ハ | ヒ | フ | ヘ | ホ |
| マ | ミ | ム | メ | モ |
| ヤ | ユ | ヨ | ||
| ラ | リ | ル | レ | ロ |
| ワ | ヰ | ヴ | ヱ | ヲ |
| ン |
| A | B | C | D | E |
| F | G | H | I | J |
| K | L | M | N | O |
| P | Q | R | S | T |
| U | V | W | X | Y |
| Z | 数字 | 記号 | ||
種類ごとの演算子の分類(順不同)。
| 算術演算子 | ||
|---|---|---|
| 機能 | 書式 | 多重定義 |
| 単項プラス | +a | ○ |
| 加算 | a + b | ○ |
| 前置インクリメント | ++a | ○ |
| 後置インクリメント | a++ | ○ |
| 加算代入 | a += b | ○ |
| 単項マイナス | -a | ○ |
| 減算 | a - b | ○ |
| 前置デクリメント | --a | ○ |
| 後置デクリメント | a-- | ○ |
| 減算代入 | a -= b | ○ |
| 乗算 | a * b | ○ |
| 乗算代入 | a *= b | ○ |
| 除算 | a / b | ○ |
| 除算代入 | a /= b | ○ |
| 剰余 | a % b | ○ |
| 剰余代入 | a %= b | ○ |
| 比較演算子 | ||
| 機能 | 書式 | 多重定義 |
| 等価 | a == b | ○ |
| 不等価 | a != b | ○ |
| 小なり | a < b | ○ |
| 小なりイコール | a <= b | ○ |
| 大なり | a > b | ○ |
| 大なりイコール | a >= b | ○ |
| 論理演算子 | ||
| 機能 | 書式 | 多重定義 |
| 論理否定 | !a | ○ |
| 論理積 | a && b | ○ |
| 論理和 | a || b | ○ |
| ビット演算子 | ||
| 機能 | 書式 | 多重定義 |
| ビット否定 | ~a | ○ |
| ビット積 | a & b | ○ |
| ビット積代入 | a &= b | ○ |
| ビット排他的論理和 | a ^ b | ○ |
| ビット排他的論理和代入 | a ^= b | ○ |
| ビット和 | a | b | ○ |
| ビット和代入 | a |= b | ○ |
| 左シフト | << | ○ |
| 左シフト代入 | <<= | ○ |
| 右シフト | >> | ○ |
| 右シフト代入 | >>= | ○ |
| 型キャスト演算子 | ||
| 機能 | 書式 | 多重定義 |
| const型キャスト | const_cast<type>(a) | × |
| 動的型キャスト | dynamic_cast<type>(a) | × |
| 静的型キャスト | static_cast<type>(a) | × |
| 強制型キャスト | reinterpret_cast<type>(a) | × |
| 型キャスト | (type)a | ○ |
| 型キャスト(関数スタイル) | type(a) | ○ |
| その他 | ||
| 機能 | 書式 | 多重定義 |
| スコープの解決 | :: | × |
| 代入 | a = b | ○ |
| 関数呼び出し | a() | ○ |
| 配列添字参照 | a[b] | ○ |
| 直接メンバーアクセス | a.b | × |
| 直接メンバーポインター | a.*b | × |
| 間接メンバーアクセス | a->b | ○ |
| 間接メンバーポインター | a->*b | ○ |
| アドレス取得 | &a | ○ |
| 間接参照、参照外し | *a | ○ |
| 条件演算子 | a ? b : c | × |
| 順次演算子 | a , b | ○ |
| 実行時型情報 | typeid(a) typeid(type) | × |
| サイズの取得 | sizeof(a) sizeof(type) | × |
| 動的な領域確保 | new type | ○ |
| 動的な配列領域確保 | new type[n] | ○ |
| 動的な領域開放 | delete a | ○ |
| 動的な配列領域開放 | new delete[] a | ○ |
| 例外送出 | throw a | × |
()でくくられていない式において、優先的に結びつく順序を、優先順位という。
順位の番号は、この表における整理のためのもので、規格で定められているわけではない。
| 順位 | 演算子 | 機能 | 結合方向 | 多重定義 |
|---|---|---|---|---|
| 1 | :: | スコープの解決 | ‐ | × |
| 2 | () | 関数呼び出し | 左から右 | ○ |
| [] | 配列添字参照 | ○ | ||
| . | 直接メンバーアクセ ス | × | ||
| -> | 間接メンバーアクセス | ○ | ||
| ++ | 後置インクリメント | ○ | ||
| -- | 後置デクリメント | ○ | ||
| typeid | 実行時型情報 | ‐ | × | |
| const_cast | 型キャスト | ‐ | × | |
| dynamic_cast | 型キャスト | ‐ | × | |
| static_cast | 型キャスト | ‐ | × | |
| reinterpret_cast | 型キャスト | ‐ | × | |
| タイプ() | 型キャスト | ○ | ||
| 3 | ++ | 前置インクリメント | 右から左 | ○ |
| -- | 前置デクリメント | ○ | ||
| + | 単項プラス | ○ | ||
| - | 単項マイナス | ○ | ||
| ~ | ビット否定 | ○ | ||
| ! | 論理否定 | ○ | ||
| & | アドレス取得 | ○ | ||
| * | 間接参照、参照外し | ○ | ||
| (タイプ) | 型キャスト | ○ | ||
| sizeof | サイズの取得 | × | ||
| new | 動的な領域確保 | ‐ | ○ | |
| new[] | 動的な配列領域確保 | ‐ | ○ | |
| delete | 動的な領域開放 | ‐ | ○ | |
| delete[] | 動的な配列領域開放 | ‐ | ○ | |
| 4 | .* | メンバーへのポインター | 左から右 | × |
| ->* | メンバーへのポインター | ○ | ||
| 5 | * | 乗算 | ○ | |
| / | 除算 | ○ | ||
| % | 剰余 | ○ | ||
| 6 | + | 加算 | ○ | |
| - | 減算 | ○ | ||
| 7 | << | 左シフト | ○ | |
| >> | 右シフト | ○ | ||
| 8 | < | 小なり | ○ | |
| <= | 小なりイコール | ○ | ||
| 9 | > | 大なり | ○ | |
| >= | 大なりイコール | ○ | ||
| 10 | == | イコール(等価) | ○ | |
| != | ノットイコール(不等価) | ○ | ||
| 11 | & | ビット積(AND) | ○ | |
| 12 | ^ | ビット排他的論理和(XOR) | ○ | |
| 13 | | | ビット和(OR) | ○ | |
| 14 | && | 論理積 | ○ | |
| 15 | || | 論理和 | ○ | |
| 16 | ? : | 条件演算子 | 右から左 | × |
| 17 | = | 代入 | ○ | |
| *= | 乗算代入 | ○ | ||
| /= | 除算代入 | ○ | ||
| %= | 剰余代入 | ○ | ||
| += | 加算代入 | ○ | ||
| -= | 減算代入 | ○ | ||
| <<= | 左シフト代入 | ○ | ||
| >>= | 右シフト代入 | ○ | ||
| &= | ビット積代入 | ○ | ||
| ^= | ビット排他的論理和代入 | ○ | ||
| |= | ビット和代入 | ○ | ||
| throw | 例外送出 | ‐ | × | |
| 18 | , | 順次演算子 | 左から右 | ○ |
C/C++の優先順位は必ずしも適正とは言い難く、この優先順位にはいくつか理不尽な問題点が存在する。
代表例として、ビット演算(ビット積、ビット排他的論理和、ビット和)の優先順位が不当に低いことが挙げられる。イコール(等価)演算子よりも低いため、次のような演算式は、期待通りには動作しない。
if (a & b == c) { ... }
a&bの結果がcと等価なら、という条件を想定しているが、残念ながら、この式「a & b == c」は、「a & (b == c)」と解釈されるため、想定通りには動作しない。()をきちんと書かねばならないのである。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます