お前かよ!スマートフォン用の表示で見るまたお前かよ!この広告は、90日以上更新していないブログに表示しています。2006-05-12++の副作用タイミングプログラミングプログラミングの世界で「副作用」というと、関数や演算が状態を変化させることを言います。単純代入演算子の「=」は副作用のある演算子。「a=5;」という演算をすると変数aの値が変化します。この変化のことを「副作用」と呼ぶわけです。副作用の発生する順番、つまり値の書き換えの起こる順番が言語仕様として規定されていないことがあります。すると、コンパイラによってプログラムの実行結果が全然違ってしまうことがある。今日学生のレポートを採点していて、こんなことがありました。動かないプログラムを提出してきた学生に「動きませんよ」と突っ返したところ、「いえ動きますよ」とまた出してきたのです。ソースをみたらこんな記述がありました。混同してしまったらしい。この文には、副作用のある演算が二つ含まれています。代入「=」とインクリメント「++」。このどちらが先に起こるかがコンパイラによって違うのです。代入が起こって、それからインクリメントが起こるなら、tは1つずつ増えていきます。その逆だと、tはいつまでたっても増えない。こんな初歩的な混同は仕方ないとしても、++演算子を使うときは意味の未定義な記述をしてしまわないよう注意しないといけませんね。2がきたので褒める月別アーカイブはてなブログをはじめよう!Sampoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。