- 659 名前:デフォルトの名無しさん mailto:sage [2006/07/04(火) 09:13:57 ]
- >>658
VC6で試したけどコンパイルは通りました。 たとえば条件演算子と、代入演算子やカンマ演算子は、条件演算子の方が優先順位の方が高いじゃないですか。 なら、そのまま解釈すると a = b ? c = d : e = f; は a = (b ? c) = (d : e) = f; a , b ? c , d : e , f; は a , (b ? c) , (d : e) , f; こうなっちゃいそうだけどそれじゃあ本当にコンパイルが通らないし、それで聞いてみたんです。 a , b ? c , d : e , f; これは、 (a , b) ? (c , d) : (e , f); こう括弧でくくってもコンパイル上は問題になりませんが、優先順位としては明らかにカンマの方が高くなっているから ありえない。実際動作もそうなってはいないようです。 で、演算子を解釈していくときのプロセスで、3項演算子だけは二項演算子とは違った特異な処理をしているんしょうか? ちょっと入門の質問じゃないかも知れないですが、どうも自分の考え方が理解の域に達していないので、初心者とし て質問させていただきました。 グーグル先生以外の人間の達人の方、出来ましたら演算子の解釈順序なんかをご教示くださいませんでしょうか。 よろしくお願い致します。
|

|