C++ enum перечисления
Что означает запись enum в C++ и как ее расшифровать?
В C++ можно определить список именованных целочисленных констант которые можно потом использовать где допупстимы операции с целыми числами. Такой список называется перечислением (англ enumeration)
Рассмотрим программу:
#include <iostream>
using namespace std;
int main ()
{
enum colors {red, white, green=10, blue, black} crossroad, man;
crossroad = green;
colors test; // or enum colors test;
test = white;
if (test == white) cout << test << " ";
test = (colors) 12;
if (test == black) cout << test;
return 0;
}
Данная программа выведет: 1 12
С помощью colors test; мы объявили новую переменную этого типа.
В языке С она записывалась как enum colors test;
Каждый символ перечисления означает целое число от 0.
В нашем случае:
red это 0, white это 1, green=10, blue тут уже будет 11, black а тут 12.
с помошью test = (colors) 12; мы присваиваем переменной новое значение, хотя такой стиль не совершенен.
Записать test = 12; нельзя, компилятор выдаст ошибку.
Оставить свой ответ: