C++ switch


C++ switch вираз

Використовуйте switch вираз, щоб вибрати один з багатьох блоків коду, який буде виконуватись.

switch(вираз) {

  case x:
    // code block
    break;

  case y:
    // code block

    break;
  default:
    // code block
}

Ось як це працює:

  1. switch вираз обчислюється один раз.
  2. Значення виразу порівнюється зі значеннями кожного case .
  3. Якщо є збіг, відповідний блок коду виконується.
  4. Ключові слова break і default не є обов'язкові, і будуть описані далі в цій главі

У наведеному нижче прикладі використовується номер дня тижня для обчислення назви дня тижня:

#include <iostream>
using namespace std;

int main() {

  int day = 4;

  switch (day) {

  case 1:
    cout << "Monday";
    break;
  case 2:
    cout << "Tuesday";
    break;
  case 3:
    cout << "Wednesday";
    break;

  case 4:                  // day == 4 == true
    cout << "Thursday";    // Thursday
    break;

  case 5:
    cout << "Friday";
    break;
  case 6:
    cout << "Saturday";
   break;
  case 7:
    cout << "Sunday";
    break;

  }

  return 0;
}


// RESULT:
// "Thursday" (day 4) 

Ключове слово break

Коли C++ досягає ключове слово break , він завершує цикл роботи в блоці switch .

Це зупинить виконання більшої кількості коду і тестування випадку всередині блоку.

Коли виявляється збіг, і справу зроблено, настав час для перерви. Там немає необхідності для додаткової перевірки.

break може заощадити багато часу виконання, оскільки він ігнорує виконання всіх інших блоків case .


Ключове слово default

Ключове слово default вказує коду, що виконувати по замовчуванню, якщо немає ні одного співпадіння в case :

#include <iostream>
using namespace std;

int main() {

  int day = 4;
  switch (day) {
    case 6:
      cout << "Today is Saturday";
      break;
    case 7:
      cout << "Today is Sunday";
      break;

    default:
      cout << "Looking forward to the Weekend";    // default block
  }

  return 0;
}

// RESULT:
// Looking forward to the Weekend 

Примітка: Ключове слово default: повинне бути використане в якості останнього оператора у switch блоці, і default не потребує break; .


Наш партнер:
beta test mp3 playlist downloader