C ++のプリプロセッサディレクティブについて質問があります。
例えば:
#ifndef QUESTION
//some code here
#ifndef QUESTION
//some code here
#endif
#endif
私たちはこのようにそれを使用することができ、およびC ++コンパイラは、一致させることができますifndefし、endif正しい方法では?
C ++のプリプロセッサディレクティブについて質問があります。
例えば:
#ifndef QUESTION
//some code here
#ifndef QUESTION
//some code here
#endif
#endif
私たちはこのようにそれを使用することができ、およびC ++コンパイラは、一致させることができますifndefし、endif正しい方法では?
回答:
はい、できます。#endif前回の声明の一致#if #ifdefまたは#ifndef対応がなかったためなど#endif。
例えば
#if ----------|
#if -----| |
#endif ---| |
#endif --------|
はい、ネスト#if/#endifブロックできます。いくつかのCコーディングスタイルはあなたに書くように言うでしょう
#ifdef CONDITION1
# ifdef CONDITION2
# endif
#endif
スペースを使用してネストのレベルを示します。
#ifdef
#プリプロセッサディレクティブが許可されている間のスペースすら知りませんでした。そのヒントに大いに感謝します!
コードでは、#undef QUESTIONを実行しない限り、#ifndefQUESTIONセクションは破棄されます。
幸運を!
#define AAA #define XXXん。たとえば、正しく機能しません。