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