J'ai une question sur les directives de pré-processeur en c ++:
Par exemple:
#ifndef QUESTION
//some code here
#ifndef QUESTION
//some code here
#endif
#endif
Pouvons-nous l'utiliser de cette manière, et le compilateur C++ peut-il faire correspondre les ifndef
et endif
de la bonne manière?
Oui nous pouvons. Le #endif
l'instruction correspond à la précédente #if
#ifdef
ou #ifndef
etc pour lequel il n'y a pas eu de correspondant #endif
.
par exemple.
#if ----------|
#if -----| |
#endif ---| |
#endif --------|
Oui, vous pouvez imbriquer #if
/#endif
blocs. Certains styles de codage C vous diraient d'écrire
#ifdef CONDITION1
# ifdef CONDITION2
# endif
#endif
en utilisant des espaces pour indiquer le niveau d'imbrication.
Dans votre code, la section #ifndef QUESTION sera supprimée sauf si vous #undef QUESTION.
Bonne chance!