Spec-Zone.ru › GCC 12 CPP

4.2.5 Elif

Один из распространенных случаев вложенных условных операторов используется для проверки более двух возможных альтернатив. Например, у вас может быть

#if X == 1
…
#else /* X != 1 */
#if X == 2
…
#else /* X != 2 */
…
#endif /* X != 2 */
#endif /* X != 1 */

Другая условная директива, ‘#elif’, позволяет это сократить следующим образом:

#if X == 1
…
#elif X == 2
…
#else /* X != 2 and X != 1*/
…
#endif /* X != 2 and X != 1*/

‘#elif’ означает «иначе если». Как и ‘#else’, она вставляется в середину условной группы и подразделяет её; она не требует соответствующего ‘#endif’. Как и ‘#if’, директива ‘#elif’ включает выражение, которое нужно проверить. Текст, следующий за ‘#elif’, обрабатывается только в том случае, если исходное условие ‘#if’ не выполнилось, а условие ‘#elif’ выполняется.

В одной условной группе может быть более одной директивы ‘#elif’. Затем текст после каждой ‘#elif’ обрабатывается только в том случае, если условие ‘#elif’ выполняется после исходного ‘#if’ и все предыдущие директивы ‘#elif’ в нём не выполнены.

‘#else’ разрешается после любого количества директив ‘#elif’, но ‘#elif’ не может следовать за ‘#else’.

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-12.1.0/cpp/Elif.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API