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
ん。たとえば、正しく機能しません。