#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」で大きくコメントアウトする際なんかに使う方針で。