C ++ではカンマ演算子はどのように機能しますか?
たとえば、私が行う場合:
a = b, c;
最終的にbまたはcに等しくなりますか?
(はい、これは簡単にテストできることを知っています-誰かがすぐに答えを見つけるためにここに文書化するだけです。)
更新: この質問は、コンマ演算子を使用するときにニュアンスを明らかにしました。これを文書化するだけです:
a = b, c; // a is set to the value of b!
a = (b, c); // a is set to the value of c!
この質問は、実際にはコードのタイプミスに触発されました。意図されていたもの
a = b;
c = d;
になって
a = b, // <- Note comma typo!
c = d;
a = (b, c);
。
a = b, c = d;
実際には意図したとおりに機能しa = b; c = d;
ますか?
b
及びd
使用(および変更)一般的状態、実行順序がされるまで定義されていないこと関数評価ですC++17
。