以前かなり初期段階でゲームプログラムの勉強を断念していたのですが、数年ぶりにもう一度挑戦しようかなと思って勉強し直しています。
そこで改めて新ゲームプログラミングの館をやり直している最中なのですが、超基本的な部分で少しだけ疑問に思ったところがあったので質問させてください。
1.5章にて、ProcessMessage関数他重要な関数を毎フレーム読み込ませる必要があるということまではわかったのですが、その方法として
while( 1 ){
[tab=30] ProcessMessage();
}
は納得がいくのですが、
while(1){
[tab=30]if( ProcessMessage() != 0 ){
[tab=30][tab=30]break;
[tab=30]}
}
が今ひとつ納得できません。ifの条件文に関数を入れても呼び出したことになる、ということなのでしょうか。
基本的な質問で恐縮ですが、よろしくお願いします。
if構文について(基本的な質問です)
Re: if構文について(基本的な質問です)
はい。dyad さんが書きました:ifの条件文に関数を入れても呼び出したことになる、ということなのでしょうか。
ifの条件文は評価されるので、関数を呼び出す式を(評価される場所に)書けば評価され、呼び出されます。
関数を入れるだけでは、呼び出されません。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: if構文について(基本的な質問です)
はい。
|| (論理OR) 演算子の動作は、
1. 左辺を評価する
2-1. 左辺が0でなければ、右辺を評価せず1になる
2-2. 左辺が0であれば、右辺を評価し、0以外なら1、0なら0になる
なので、左辺のProcessMessage()は評価され、関数が呼び出されます。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)