Ich habe eine Frage zu Pre-Processor-Direktiven in c ++:
Beispielsweise:
#ifndef QUESTION
//some code here
#ifndef QUESTION
//some code here
#endif
#endif
Können wir es auf diese Weise verwenden und kann der C++ - Compiler die ifndef
und endif
richtig zuordnen?
Ja wir können. Die Anweisung #endif
Stimmt mit der vorherigen Anweisung #if
#ifdef
Oder #ifndef
Usw. überein, für die es kein entsprechendes #endif
Gibt.
z.B.
#if ----------|
#if -----| |
#endif ---| |
#endif --------|
Ja, Sie können #if
/#endif
- Blöcke verschachteln. Einige C-Codierungsstile würden Sie zum Schreiben auffordern
#ifdef CONDITION1
# ifdef CONDITION2
# endif
#endif
verwenden von Leerzeichen, um die Verschachtelungsebene anzugeben.
In Ihrem Code wird der Abschnitt #ifndef QUESTION verworfen, sofern Sie nicht #undef QUESTION verwenden.
Viel Glück!