以前にC++の講義を受けた際に for(int i = 0; i < hoge ; i++){ int j; ・ ・ ・ } のようなコードを書くと、jがhoge分だけ"生成されて しまう"のでよろしくありません。と教えられました。 しかし、最近別の方からこの部分に関しては、jをfor文の 中に定義しようが、最適化?によりfor文の外に出された バイナリが生成されると聞きました。そのため、jが 必要となる直前でjを定義しても(for文の中に定義しても) 問題ない。と教えられました。 どちらが正しいのでしょうか? 近年にC++の仕様変更があったとしたら、それに伴い 変更されたのでしょうか? また、どのようなコードが望ましいなどありましたら 教えてください。
↧