いちばんやさしいゲームの作り方

文系の人でも、数理学がわからない人でもゲームプログラミングをマスターできるブログ

昔の Visual C++ というか cl.exe におもしろいバグがあるそうです。

for (int i = 0; i <10; i++);

printf("%d\n", i);

これが動いてしまうそうです。ちゃんと 10 と表示されるとか。わざわざ for 文の中で変数を宣言する意味が無いですね。もしかしたら cl.exe ではブロックの先頭から末尾が新しいスコープになるように設計されているのかもしれません。なんというか機械的に、まぁ、機械であることには違いないんですけど。

Comments

たつにい
2008/08/08 15:55:52

これは……

これが僕の中ではC++の仕様だと思っていたのですがバグなんですねorz

そういや確かに2008だとスコープが違っているみたいでコンパイルエラーになってました。

でもC言語の規則に則り、関数の初めでループ用の汎用変数としてiを宣言するという手法を用いることもありました。

Byerkut
2008/08/08 18:24:35

>たつにいさん

全部 Microsoft のせいですよ。
彼らは HTML の仕様とかもひっかきまわしてくれました。
でも離れられない Visual Studio … orz

Contributions




Trackback URL

メルマガ登録・解除
 
挫折不可能!初級ゲームプログラミング完全マニュアル
RSS track feedいちばんやさしいゲームの作り方 TECHNORATI お気に入りに追加する
フィードメーター - いちばんやさしいゲームの作り方 ブログSEO対策:track word カウンター
Firefox meter あわせて読みたい SEO STATUS
このページの先頭へ