Cookie の使用について.本サイトでは、基本機能の提供に必要な必須 Cookie を使用しています。さらに、同意いただいた場合に限り、アクセス解析 Cookie を利用して利用状況を把握し、サービス改善に役立てます。詳しくは .
このツールは使いやすかったですか?
フィードバックは改善に役立ちます
快速查询C++运算符优先级与结合性,辅助理解复杂表达式求值顺序。
収録した構文の参考表で、コンパイラーや例の実行検証ではありません。番号はサイト内のグループです。使用する言語の版、型、評価規則は仕様で確認してください。例のコードと文字列は原文を保ちます。 出典
::スコープ解決左結合名前空間や型などを指定して名前を参照します。
std::vector<int>a++後置演算左結合更新前の値を式で使い、その後1増やします。
i++a--後置演算左結合更新前の値を式で使い、その後1減らします。
i--type()後置演算左結合型名と括弧を使うC++の変換・初期化です。
int(3.14)type{}後置演算左結合C++で波括弧を使って初期化します。縮小変換の制約があります。
double{1}a()後置演算左結合関数または呼び出し可能な値を、引数を指定して呼び出します。
std::printf("hi")a[]後置演算左結合添字またはキーで要素にアクセスします。
arr[0].後置演算左結合フィールド、属性、メソッドなどを名前で参照します。
obj.name->後置演算左結合ポインターが指すオブジェクトのメンバーにアクセスします。
p->next++a単項演算右結合先に1増やし、更新した値を式で使います。
++i--a単項演算右結合先に1減らし、更新した値を式で使います。
--i+a単項演算右結合単項のプラス演算です。型変換や型の昇格は言語によって異なります。
+x-a単項演算右結合値の符号を反転します。
-x!単項演算右結合真偽の判定を反転します。
!ready~単項演算右結合各ビットを反転します。整数の幅や対応する型は言語に依存します。
~mask(type)単項演算右結合式の値を指定した型へ変換します。対応する変換と精度は言語・型で異なります。
(int)3.14*a単項演算右結合ポインターの参照先の値にアクセスします。
*p&a単項演算右結合アドレスを取得します。アドレスを持てる対象の制約は言語の規則に従います。
&valuesizeof単項演算右結合型または式のサイズをバイト単位で求めます。文字列の長さではありません。
sizeof(int)co_await単項演算右結合C++のco_awaitでawaitableを待機します。
co_await tasknew単項演算右結合C++のnewでオブジェクトを確保して構築します。
new int(5)new[]単項演算右結合C++のnew[]で配列を確保して要素を構築します。
new int[10]delete単項演算右結合C++のdeleteでnewに対応するオブジェクトを破棄・解放します。
delete pdelete[]単項演算右結合C++のdelete[]でnew[]に対応する配列を破棄・解放します。
delete[] arr.*メンバへのポインタ左結合オブジェクトにメンバーポインターを適用します。
(obj.*memPtr)->*メンバへのポインタ左結合オブジェクトへのポインターにメンバーポインターを適用します。
(ptr->*memPtr)*乗除算・剰余左結合左右の値を掛け合わせます。
a * b/乗除算・剰余左結合左の値を右の値で割ります。整数の丸め方は言語と型に依存します。
10 / 3%乗除算・剰余左結合除算の余りです。負数の結果や対応する型は言語の規則を確認してください。
10 % 3+加減算左結合値を加算します。ポインターや演算子のオーバーロードは言語の規則に従います。
a + b-加減算左結合右の値を左の値から引きます。
a - b<<シフト演算左結合整数の左シフト、またはC++のストリームへの挿入です。
1 << 3>>シフト演算左結合整数の右シフト、またはC++のストリームからの抽出です。
8 >> 2<=>三方比較左結合C++の比較カテゴリ型の値を返します。単なる真偽値の比較ではありません。
a <=> b<関係演算左結合左辺が右辺より小さいか比較します。
a < b<=関係演算左結合左辺が右辺以下か比較します。
a <= b>関係演算左結合左辺が右辺より大きいか比較します。
a > b>=関係演算左結合左辺が右辺以上か比較します。
a >= b==等価比較左結合言語の等価性の規則に従って左右の値を比較します。
a == b!=等価比較左結合左右が等価でないか比較します。
a != b&ビット演算左結合対応するビットが両方1の場合に1となります。
a & b^ビット演算左結合対応するビットが異なる場合に1となります。
a ^ b|ビット演算左結合対応するビットの少なくとも一方が1の場合に1となります。
a | b&&論理演算左結合左辺が偽と判定される場合は右辺を評価しません。戻り値の型は言語に依存します。
a && b||論理演算左結合左辺が真と判定される場合は右辺を評価しません。戻り値の型は言語に依存します。
a || b?:条件演算右結合条件に応じて二つの式の一方を選びます。
x > 0 ? 1 : -1throw条件演算右結合例外を送出します。式として使えるかは言語と版の規則に従います。
throw std::runtime_error("err")co_yield条件演算右結合C++のco_yieldでコルーチンから値を提供します。
co_yield value=代入演算右結合右辺の値を左辺に代入します。式として使えるかは言語に依存します。
x = 10+=代入演算右結合加算した結果を左辺に書き戻します。
x += 1-=代入演算右結合減算した結果を左辺に書き戻します。
x -= 1*=代入演算右結合乗算した結果を左辺に書き戻します。
x *= 2/=代入演算右結合除算した結果を左辺に書き戻します。
x /= 2%=代入演算右結合剰余の結果を左辺に書き戻します。
x %= 3<<=代入演算右結合左シフトの結果を左辺に書き戻します。
x <<= 2>>=代入演算右結合右シフトの結果を左辺に書き戻します。
x >>= 2&=代入演算右結合ビットANDの結果を左辺に書き戻します。
x &= 0xFF^=代入演算右結合ビットXORの結果を左辺に書き戻します。
x ^= mask|=代入演算右結合ビットORの結果を左辺に書き戻します。
x |= 0x01,カンマ演算左結合式を順に評価します。引数や初期化子を区切るコンマとは区別します。
for (int i=0,j=9; i<j; ++i,--j)概要
解決できる課題、処理の仕組み、データの範囲を確認できます。
C++の式を読んでいて && や << の意味を確認したいとき、記号、演算子名、説明、例、優先度番号を手掛かりに収録項目を検索できます。結果には記号、カテゴリ、結合性、名称、説明、コード例が表示され、記号と例はコピーできます。日本語では演算子名と説明を検索できますが、コード例は原文の表記です。このページは検索結果の翻訳範囲を示すもので、C++全体の構文・型規則・評価結果を判定するものではありません。
一覧の番号は項目を優先度グループごとに見比べるための表示です。数字が小さいグループほど強く結び付きます。たとえば乗算と加算を比べると、a + b * c は a + (b * c) の形にまとまります。同じグループ内の演算子が続く場合は、結合性が構文上のまとまり方の目安になります。右結合の代入式 a = b = c は a = (b = c) のようにまとまります。C++の規格は各演算子に優先度の数値を割り当てるのではなく、文法から関係を定めます。したがって画面の番号を規格の条項番号や数値として扱わないでください。
検索欄には記号だけでなく、日本語の名称や説明の一部、例、番号も入力できます。カテゴリで対象を絞り、さらに左結合・右結合・結合性なしを選べます。検索条件とフィルターは同時に使えるので、たとえばカテゴリを「代入演算」にして右結合を選び、記号や名称で候補を絞り込めます。該当項目がないときは、条件を一つずつ解除してどの絞り込みが影響しているか確認します。
x + y * z の括弧位置を確認するなら、加算と乗算を検索し、各項目の優先度グループを比較します。乗算のグループが加算より上なので、式のまとまりは x + (y * z) です。代入が連なる式なら、右結合の表示を確認して a = (b = c) と読みます。ここで確認できるのは構文上のグループ分けです。実際にどの順で値が評価されるか、型が適合するか、実行時にどんな結果になるかは、別のC++規則や式の文脈に左右されます。
いいえ。この一覧で並びを比較するためのグループ番号です。規格では式の文法から優先順位を導けるため、番号自体を標準の定数として引用しないでください。
分かりません。これらは式がどのように構文上まとまるかを示します。オペランドが実行時に評価される順序とは別の規則です。
カテゴリと結合性を「すべて」に戻し、記号の半角・全角や入力した語を見直してください。名称、説明、例、番号でも検索できます。
できません。日本語の名称・説明は収録項目を見つける手掛かりです。表示される例はコード原文のままで、言語仕様の全側面を網羅したり、コンパイルや動作を検証したりするものではありません。
使い方
手順に沿って操作し、例を使って入力と結果を確認します。
演算子記号、日本語の名称や説明、コード例、優先度番号のいずれかを入力します。最初は && や「短絡」のような短い語が便利です。
必要に応じて論理演算、比較、代入などのカテゴリを選びます。カテゴリを選択すると、ほかの種類の演算子が結果から外れます。
同じグループの演算子が並ぶ式を調べるときは、左結合・右結合などの条件を選びます。結果の記号、名称、例と合わせて読みます。
確認したグループ関係を使い、対象の式を括弧で書き直します。式の評価順や型の妥当性は、必要に応じてC++の仕様やコンパイラで別途確認してください。
活用例
仕事や日常の流れの中での活用方法を紹介します。
コードレビュー中に比較演算子やビット演算子が混在していたら、記号やカテゴリを検索し、どの部分が先に構文上まとまるかを把握して、必要なら括弧を提案します。
学習メモや説明文にある「短絡」「右結合」などの語から項目を探し、記号と例を照らし合わせます。例をコピーして手元の教材やコードと比較できます。
説明する演算子をカテゴリや結合性で絞り、項目名と例を確認します。番号は表内の比較用として示し、C++規格が定める数値であるかのように説明しないようにします。
注意
利用範囲、結果の制限、必要な注意点を事前に確認します。
検索結果は収録された演算子名と説明を日本語で探すための参照です。コード例は原文表記であり、すべてのC++バージョンや状況における構文・型・評価規則、コンパイル結果を保証しません。優先度と結合性は構文上のまとまり方を説明し、実行時の評価順を示すものではありません。曖昧さを避けたい式では括弧を使い、厳密な仕様判断には対象のC++標準と処理系の資料を確認してください。
関連
関連ツール、特集、利用可能なAPIを探せます。