11

この優先順位表によると、コンマ演算子は左結合です。つまり、a, b, cとして解析され(a, b), cます。それは必然ですか?a, (b, c)まったく同じ動作をしませんか?

4

2 に答える 2

13

オーバーロードoperator,可能が存在するため、いいえ、同じ動作ではありません。a, (b, c)とは異なるオーバーロードを呼び出すことができます(a, b), c

于 2012-12-23T11:32:26.000 に答える
1

コンマ演算子には、左から右への結合性があります。コンマで区切られた 2 つの式は、左から右に評価されます。左のオペランドは常に評価され、右のオペランドが評価される前にすべての副作用が完了します。

関数の引数リストなど、一部のコンテキストでは区切り文字としてコンマを使用できます。コンマをセパレータとして使用することと、演算子として使用することを混同しないでください。2つの用途は完全に異なります。

http://msdn.microsoft.com/en-us/library/zs06xbxh.aspx

于 2013-08-06T17:30:03.200 に答える