09/04/17 22:21:47
演算子について教えてください。
(見やすさとか保守性とかは考えないとしてC++の規格上)
a と b が int 型の時、
以下の表現は問題無いでしょうか?
『 b ? a=b : a++; 』
? : よりも = の方が優先順位は低いのですが、
? と : は2個セットの演算子なので、
(b ? a) = (b : a++);
このように別々になることができず
b ? (a=b) : a++;
の解釈しか出来ないはずで、
VCでも正常にコンパイル出来、ちゃんと動作します。