Ну, вам странно. Мне норм. Да и гик, это только выражение количества сообщений и не более. Тут есть "гики", которые на нуба еле-еле тянут. Я же не понял, как можно переменной типа int присваивать какое-то константное char выражение. Сейчас буду искать, что бы почитать по этому поводу.
Во всей этой ситуации я понял только то, что есть переменная, которая хранит состояние системы. И несколько по констант, которые используются сугубо для того, чтобы переменной состояния присваивать не цифру: Код (C++): state=15; а переменную: Код (C++): int START=15; state=START; Ради чего это делается? Семантичность, чтоли? Как по мне, бред какой-то. Есть тут на форуме борцы за чистоту и грамотность кода? Растолкуйте мне, пожалуйста, на кой это нужно?
Делается для читаемости кода. Вы через неделю не вспомните, состояние START - это 15 или 29 И как вы написали int START - так тоже не правильно, это должна быть константа, а не переменная
Сразу учитесь писать код грамотно и понятно. С комментариями и мнемонически понятными данными. Это касается, например, пинов. Так не правильно: Код (C++): pinMode(13, OUTPUT); digitalWrite(13, HIGH); Так правильно: Код (C++): #define LED 13 // светодиод pinMode(LED, OUTPUT); digitalWrite (LED, HIGH); // включаем светодиод Хоть для компилятора это одно и то же, и исполняемый код будет одинаковым, для человека разница огромная. И разобраться проще и поменять данные в одной строке, а не во всей программе.
Короче, мы друг друга недопоняли. Я вам про Фому, вы мне про Ерему, причем то, что я и так знаю и использую. Ладно, не важно.
Ну вот смотрите: помимо читабельности, есть такое понятие, как проверка на этапе компиляции, и этим средством часто пользуются. На примере enum: Код (C++): typedef enum {ONE, TWO, THREE} DIGITS; DIGITS dig = 4; // ошибка DIGITS dig = TWO; // корректно Анонимные перечисления также часто используются для подержания читабельности кода: Код (C++): enum {UNKNOWN, START, STOP, ALARM}; int machineState = UNKNOWN; switch(machineState) { case START: echo "Started!"; break; ... }