Можно ли #если директивы препроцессора вложены в C++?
у меня есть вопрос о директив препроцессора в c++:
например:
#ifndef QUESTION
//some code here
#ifndef QUESTION
//some code here
#endif
#endif
можем ли мы использовать его таким образом, и может ли компилятор C++ соответствовать ifndef и endif в правильном направлении?
3 ответов:
Да, мы можем. Элемент
#endifоператор соответствует предыдущему#if#ifdefили#ifndefetc, для которого не было соответствующего#endif.например
#if ----------| #if -----| | #endif ---| | #endif --------|
Да, вы можете гнездиться
#if/#endifблоки. Некоторые стили кодирования C сказали бы вам написать#ifdef CONDITION1 # ifdef CONDITION2 # endif #endifиспользование пробелов для обозначения уровня вложенности.
Comments