読者です 読者をやめる 読者になる 読者になる

騎空士ときどきプログラマーな日記

グラブルで頑張る騎空士の日常を綴ります。

【C++】今更だけど、#ifndef / #ifdef / #endif

プログラミング

開発中に動作確認で

-------------------------------------

#define DEBUG /* デバッグ */

bool bflg = false;  // フラグ

・・・

if( bflg = true){

  ・・・

   #ifdef DEBUG

          OutputDebugString( "bflg is ON\n");

  #endif // DEBUG

}

--------------------------------------

 っていうフラグ動作のデバッグコードがあったとして、

#defineで定義したマクロがあると

#ifdef と#endif の間で有効になるのは知ってたけど

 

これに対して#ifndefというものがありこれはマクロが定義されていなかったら、

#ifndef ~ #endifの間を有効にするっていう意味。

 

#ifdef ~ #endifが大半で #ifndefの存在を忘れていた・・・・(´・ω・`)

仕事でソースコード解析してたらこれが頻繁に出てきたので、

φ(・ェ・o)メモメモ