Перерахування С ++

У цій статті ви навчитесь працювати з переліком (переліченням). Крім того, ви дізнаєтесь, де переліки часто використовуються в програмуванні на 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 ++ ви можете досягти майже будь-чого, не використовуючи перелічення. Однак у певних ситуаціях вони можуть бути дуже зручними. Це те, що відрізняє хороших програмістів від великих програмістів.

Цікаві статті...