#ifと#ifdefの違い
#if (x) … x が true なら実行される #ifdef (x) … x が #defineで定義されていれば実行される
実際にプログラム上で使用する機会はデバッグ表示の有無なんかがほとんど。
なお、Visual Studioの場合はDebugモード時に自動的に 「#define _DEBUG 1」 が定義されている。
// 使用例 #ifdef _DEBUG dispFPS(); //< FPS表示 #endif #if _DEBUG dispFPS(); //< #ifでも出る #endif
Releaseモード時のみ表示したいときなんかは #ifndef _DEBUG で。
「_RELEASE」的なものは無いみたい。
どっちを選ぶべきかは分からないけど、Debug/Releaseの切り替えについては #ifdef で統一しておこう。
#if は 「#if 0」で大きくコメントアウトする際なんかに使う方針で。