C++ я просто играл с перечислениями в C++, и я до сих пор не могу понять эти два примера:Я не могу понять, как перечисление работает в
enum Colors {
WHITE, BLACK, RED
};
Colors colors[3];
colors[0] = WHITE; // it's OK
и:
enum Colors {
WHITE, BLACK, RED
};
int colors[3];
colors[0] = WHITE; // it's OK
I знайте, что элементы перечисления подсчитываются от 0 до n-1, поэтому все они имеют значения. Но почему мне нужно использовать Colours name enumeration для объявления массива? Почему я не могу использовать int вместо этого? Или я могу?
Спасибо.
Да, 'enum' довольно слабый, если вы привыкли к перечисляемым типам из других языков –
Он предназначен для обеспечения безопасности типа , так что кто-то не просто передал случайное целочисленное значение функции, ожидающей значения перечисления, не будучи уведомленным компилятором. –