私は今まで、「i += j; は、i = i + j; の短縮形である」と解釈していました。
ですが以下の値で実際にコードを実行してみたところ、予想外の結果になりました。
lang
1int i = 5; 2long j = 8;
lang
1i = i + j;
→コンパイルエラーになる。
lang
1i += j;
→正常にコンパイルされる。
これはどういうことなのでしょう?
「i += j;」は、内部で「i = (type of i) (i + j)」といった感じに変換されるものなのでしょうか?
わかる方がおられましたら教えて下さい。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。