BohYoh.comトップページへ
C & C++ FAQ
目次

C C++ 演算子の結合性とは何ですか。

 演算子には、右結合性をもつものと左結合性をもつものとがあります。2項演算子を○と表した場合、式a○b○cが

(a○b) ○ c     左結合

とみなされるのが左結合の演算子であり、

a ○ (b○c)     右結合

とみなされるのが右結合の演算子です。すなわち、同じ優先度の演算子が並んでいるときに、左右どちらの演算が結び付けられるのかを示すのが結合性です。
 たとえば、減算を行う2項-演算子は左結合ですから、

5 - 3 - 1  →  (5 - 3) - 1  /* 左結合 */

です。もしも、右結合だったら、5 - (3 - 1)と解釈され、答えも違うものとなってしまいます。代入を行う単純代入演算子=は右結合ですから、次のようになります。

a = b = 1  →  a = (b = 1)   /* 右結合 */


戻る

BohYoh.comロゴ