自分はすぐに脳汁の限界がやってきてしまうので変数の有効範囲を可能な限り狭くしようとブロックを多用しています。
こんな感じです。
// データベースからデータを読み込む bool found = false; { DatabaseHandle db = DatabaseFrontend::getConnection(); ResultSet results = db->query("SELECT * FROM table"); if (results) { found = true; } } // 結果の有無で表示層を切り替える { if (found) { // ほげほげ } else { // ふがふが } }
これ、ブロックに突入するときにオーバーヘッドでるのでしょうか。スタックに積んだりおろしたりとか。アセンブラのコードをダンプしてみれば良いんでしょうけど最適化の過程で消えてくれそうな気もしますよね。
なんかもう、仕事でへろへろですね。1日数十分でも良いので真剣にゲームプログラミングと向き合う時間を作らないといけません。
Contributions