次の方法で共有


C++ の演算子、優先順位と結合規則

C++ 言語には、C のすべての演算子が含まれており、いくつかの新しい演算子が追加されています。 演算子により、1 つまたは複数のオペランドに対して実行される評価が決まります。

演算子の優先順位により、複数の演算子を含む式で、どの演算子から先に演算を行うかが決まります。 演算子の結合規則により、優先順位が同じ複数の演算子を含む式で、オペランドを左右どちらの演算子にグループ化するかが決まります。 次の表では、C++ の演算子の優先順位と結合規則を示しています (演算子は優先順位の高いものから低いものの順に並んでいます)。 優先順位番号が同じ演算子は、別の関係がかっこで明示的に適用されない限り、同じ優先順位になります。

C++ 演算子の優先順位と結合規則

演算子の説明

Group 1 precedence, no associativity

スコープ解決

Group 2 precedence, left to right associativity

メンバー選択 (オブジェクトまたはポインター)

配列添字

関数呼び出し

後置インクリメント

後置デクリメント

型名

const 型変換

動的型変換

再解釈型変換

静的型変換

Group 3 precedence, right to left associativity

オブジェクトまたは型のサイズ

前置インクリメント

前置デクリメント

1 の補数

論理 NOT

単項マイナス符号

単項プラス

アドレス取得

間接

オブジェクトの作成

オブジェクトの破棄

Cast

Group 4 precedence, left to right associativity

メンバーへのポインター (オブジェクトまたはポインター)

Group 5 precedence, left to right associativity

乗算

除算

剰余

Group 6 precedence, left to right associativity

加算

減算

Group 7 precedence, left to right associativity

左シフト

右シフト

Group 8 precedence, left to right associativity

より小さい

より大きい

以下

以上

Group 9 precedence, left to right associativity

等価比較

非等値

Group 10 precedence left to right associativity

ビットごとの AND

Group 11 precedence, left to right associativity

ビットごとの排他的 OR

Group 12 precedence, left to right associativity

ビットごとの包括的 OR

Group 13 precedence, left to right associativity

論理 AND

Group 14 precedence, left to right associativity

論理 OR

Group 15 precedence, right to left associativity

条件

Group 16 precedence, right to left associativity

代入

乗算代入

除算代入

剰余代入

加算代入

減算代入

左シフト代入

右シフト代入

ビットごとの AND 代入

ビットごとの包括的 OR 代入

ビットごとの排他的 OR 代入

Group 17 precedence, right to left associativity

throw 式

Group 18 precedence, left to right associativity

コンマ

参照

関連項目

C++ 演算子

演算子のオーバーロード