switch с диапазоном значений

Игорь Шаповал
Игорь Шаповал

Работая с switch мы иногда хотим, чтобы ветка выполнилась, если условия лежит

в диапазоне значений. Для этого мы должны писать следующее

switch (value) {
case 0:
case 1:
case 2:
   cout << "in range 0...2" << endl;
   break;
case 3:
case 4:
case 5:
   cout << "in range 3...5" << endl;
   break;   
default:
   cout << "out the range" << endl;
}

В GCC есть расширение, которое позволяет указывать в case диапазон значений

switch (value) {
case 0 ... 2:
   cout << "range in 0...2" << endl;
   break;
case 3 ... 5:
   cout << "range in 3...5" << endl;
   break;
default:
   cout << "out the range" << endl;
}

Было бы классно добавить в стандарт С++. 

6
рейтинг
1 комментарий
Игорь Шаповал

yndx-antoshkka Скажите может эта фича быть в стандарте?

Игорь Шаповал
Другие идеи
Группа создана, чтобы собирать предложения к стандарту C++, организовывать их внутренние обсуждения, помогать готовить их для отправки в комитет и защищать на общих собраниях в рабочей группе по С++ Международной организации по стандартизации (ISO).
Все предложения