C++ Перелік / Перерахування (enum)
C++ Перелік (enum)
Enum – це спеціальний тип, який представляє групу констант (незмінних значень).
Щоб створити перелік, скористайтеся ключовим словом enum
, після якого вкажіть назву переліку та розділіть елементи переліку комою:
enum Level {
LOW,
MEDIUM,
HIGH
};
Зауважте, що останній елемент не потребує коми.
Не обов’язково використовувати великі літери, але це часто вважається хорошою практикою.
Enum є скороченням від "enumerations", що означає "конкретно перерахований".
Щоб отримати доступ до enum, ви повинні створити його змінну.
Усередині методу main()
вкажіть ключове слово enum
, а потім назву переліку (Level
), а потім ім’я змінної enum (myVar
у цьому прикладі):
enum Level myVar;
Тепер, коли ви створили змінну enum (myVar
), ви можете призначити їй значення.
Призначене значення має бути одним з елементів у переліку (LOW
, MEDIUM
або HIGH
):
enum Level myVar = MEDIUM;
За умовчанням перший елемент (LOW
) має значення 0
, другий (MEDIUM
) має значення 1
тощо.
Якщо ви зараз спробуєте надрукувати myVar, виведе 1
, що представляє MEDIUM
:
int main() {
// Створіть змінну enum і призначте їй значення
enum Level myVar = MEDIUM;
// Надрукуйте змінну enum
cout << myVar;
return 0;
}
Спробуйте самі »
Змінити значення
Як ви знаєте, перший елемент переліку має значення 0. Другий має значення 1, і так далі.
Щоб краще зрозуміти значення, їх можна легко змінити:
enum Level {
LOW = 25,
MEDIUM = 50,
HIGH = 75
};
int main() {
enum Level myVar = MEDIUM;
cout << myVar; // Тепер виведе 50
return 0;
}
Спробуйте самі »
Зауважте, що якщо ви призначите значення одному конкретному елементу, наступні елементи відповідно оновлять свої номери:
enum Level {
LOW = 5,
MEDIUM, // Now 6
HIGH // Тепер 7
};
Спробуйте самі »
Enum в інструкції Switch
Перерахування часто використовуються в інструкціях switch для перевірки відповідності значень:
enum Level {
LOW = 1,
MEDIUM,
HIGH
};
int main() {
enum Level myVar = MEDIUM;
switch (myVar) {
case 1:
printf("Low Level");
break;
case 2:
printf("Medium level");
break;
case 3:
printf("High level");
break;
}
return 0;
}
Спробуйте самі »
Чому і коли використовувати переліки?
Переліки використовуються для надання імен константам, що полегшує читання та підтримку коду.
Використовуйте переліки, якщо у вас є значення, які, як ви знаєте, не зміняться, як-от дні місяця, дні, кольори, колода карт тощо.