У цій статті ви навчитесь працювати з переліком (переліченням). Крім того, ви дізнаєтесь, де переліки часто використовуються в програмуванні на C ++.
Перерахунок - це визначений користувачем тип даних, який складається з інтегральних констант. Для визначення переліку використовується ключове слово enum .
сезон переліку (весна, літо, осінь, зима);
Тут назва переліку - сезон.
І, весна, літо та зима - це значення типу сезону.
За замовчуванням весна - 0, літо - 1 тощо. Ви можете змінити значення за замовчуванням елемента перерахування під час оголошення (за необхідності).
сезон переліку (весна = 0, літо = 4, осінь = 8, зима = 12);
Декларація про перелічений тип
Коли ви створюєте перелічений тип, створюється лише план змінної. Ось як ви можете створювати змінні типу enum.
enum логічне значення (false, true); // всередині функції enum булева перевірка;
Тут створюється перевірка змінної типу enum boolean
.
Ось ще один спосіб оголосити одну і ту ж контрольну змінну, використовуючи інший синтаксис.
перелічити логічну (хибну, істинну) перевірку;
Приклад 1: Тип перерахування
#include using namespace std; enum week ( Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday ); int main() ( week today; today = Wednesday; cout << "Day " << today+1; return 0; )
Вихідні дані
День 4
Приклад2: Зміна значення перерахувань за замовчуванням
#include using namespace std; enum seasons ( spring = 34, summer = 4, autumn = 9, winter = 32); int main() ( seasons s; s = summer; cout << "Summer = " << s << endl; return 0; )
Вихідні дані
Літо = 4
Чому перелічення використовуються в програмуванні на C ++?
Змінна enum приймає лише одне значення з багатьох можливих значень. Приклад для демонстрації,
#include using namespace std; enum suit ( club = 0, diamonds = 10, hearts = 20, spades = 3 ) card; int main() ( card = club; cout << "Size of enum variable " << sizeof(card) << " bytes."; return 0; )
Вихідні дані
Розмір змінної переліку 4 байти.
Це тому, що розмір цілого числа - 4 байти .;
Це робить enum хорошим вибором для роботи з прапорами.
Ви можете виконати те саме завдання, використовуючи структури C ++. Однак робота з переліками забезпечує ефективність та гнучкість.
Як використовувати перелічення для прапорів?
Візьмемо приклад,
enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button;
Припустимо, ви розробляєте кнопку для програми Windows. Ви можете встановити прапори ITALICS, BOLD та UNDERLINE для роботи з текстом.
Існує причина, чому всі інтегральні константи мають ступінь 2 в псевдокоді вище.
// У двійковому тексті ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100
Оскільки інтегральні константи мають ступінь 2, ви можете комбінувати відразу два або більше прапорів, не перекриваючись, використовуючи побітове АБО | оператора. Це дозволяє вибрати одразу два або більше прапорів. Наприклад,
#include using namespace std; enum designFlags ( BOLD = 1, ITALICS = 2, UNDERLINE = 4 ); int main() ( int myDesign = BOLD | UNDERLINE; // 00000001 // | 00000100 // ___________ // 00000101 cout << myDesign; return 0; )
Вихідні дані
5
Коли результат 5, ви завжди знаєте, що використовується жирний шрифт та підкреслення.
Крім того, ви можете додати прапор до своїх вимог.
if (myDesign & ITALICS) (// код для курсиву)
Тут ми додали курсив до нашого дизайну. Зверніть увагу, що всередині оператора if пишеться лише код курсиву.
У програмуванні на C ++ ви можете досягти майже будь-чого, не використовуючи перелічення. Однак у певних ситуаціях вони можуть бути дуже зручними. Це те, що відрізняє хороших програмістів від великих програмістів.