Инструменты пользователя

Инструменты сайта


// Интересная нотация switch/case в gcc

Относится к расширениям gcc, не претендует на переносимость, но все же: в gcc у case можно указывать диапазоны значений:

case LOWVAL ... HIVAL:

Например:

switch(var) 
{
     case 0 ... 2:
        /* какой-то код */
        break;
     case 3 ... 5:
        /* какой-то другой код */
        break;
     default:
        /* что делаем, когда ничего не помогает */
}

этот код эквивалентен такому:

switch(var) 
{
     case 0:
     case 1:
     case 2:
        /* какой-то код */
        break;
     case 3:
     case 4:
     case 5:
        /* какой-то другой код */
        break;
     default:
        /* что делаем, когда ничего не помогает */
}

ЗЫ про одно полезное расширение gcc я уже писал: 0b00100100

Комментарии

Старые комментарии

Здесь вроде полнее Тим Джонс описал http://www.ibm.com/developerworks/linux/library/l-gcc-hacks/

1 |
Sergey Nikulov
| 2010-04-04 12:43 | reply

В документации к gcc это тоже есть :)

2 |
Alexander Drozdov
| 2010-04-04 22:49 | reply