演算子に関するs51517765のブックマーク (1)

  • CとC++の演算子 - Wikipedia

    補足[編集] 優先順位の表は、括弧で括られていない式において結びつく順序を決める。 ++x * 3は優先順位の規則がなければ曖昧である。しかし、実際には、優先順位によってxは*より++に結びつくので、(++x) * 3と解釈される。 同様に、3 * x++ではxのみがインクリメントの対象となる。 優先順位と結合性の問題は上記のダイアグラム[要追加記述]のように一般化できる。コンパイラの目標はこのようなダイアグラムを式として解決することである。この図は各単項の演算子(ここではそれぞれ3 + ( . ), 2 * ( . ), ( . )++, ( . )[i]と表記する)がyへ結合しようとしていることを表す。優先順位の表から、各部分式は最終的に、( . )[i]はyへ、( . )++はy[i]へ、2 * ( . )は(y[i])++へ、3 + ( . )は2 * ((y[i])++)という結

  • 1