zHz00 Untitled

вторник, 06 ноября 2018
23:59 Нуар
Очевидно, что локальная переменная действует только в своей области видимости. Если в область видимости осуществлён повторный вход, значение не сохранится.

Си++, да и Си достаточно новой версии развращают тем, что можно локальные переменные об'являть в любом месте, а не только в начале блока (или в начале функции, как в Паскале).

Обычно считается хорошим стилем -- об'являть переменную непосредственно перед использованием. Но это приводит к неожиданным факапам.

int main()
{
//инициализация контроллера
for(;; )//главный цикл
{
//пять страниц кода
int state=0;//состояние автомата
//пусть автомат будет простой
//входных сигналов нет
//на каждом шагу переходит в соседнее
//из двух состояний
if(state==0)
{
state=1;
//действия
}
else
{
state=0;
//действия
}
}
}
Долго думал, почему автомат всё время в нулевом состоянии и в первое не переходит? А вот. Пришлось переносить state в начало main().

@темы: Программирование, Говнокод

URL
Это я http://www.dirty.ru/users/777 Current music: ...
Со словами трудно, действительно придется попробовать сыг...
http://absira.narod.ru/index.htm Дауны, объединяйтес...
у нас на этаже на работе есть две туалетные комнаты с общ...
http://www.randomdudes.com/bush/bush.html Current mu...
На ЮГАх сегодня больше тысячи посетителей! Это рекорд и...

07.11.2018 в 04:56

07.11.2018 в 04:56
Можно статической ее сделать.
URL

07.11.2018 в 18:44

07.11.2018 в 18:44
Foul thing, c языка кончиков пальцев снял :)

zHz00, ошибка в теме: Прогроммирование.
URL

08.11.2018 в 01:19

08.11.2018 в 01:19
Foul thing, можно! Но есть побочный эффект в виде сохранения значения между вызовами функции. В данном случае это роли не играет, т.к. мейн вызывается только один раз, так что действительно можно было сделать так.
roadischosen, спасибо, исправил.
URL

08.11.2018 в 13:58

08.11.2018 в 13:58
мейн
Кун?

URL

09.11.2018 в 00:02

09.11.2018 в 00:02
RetXiRT suiR@ttig@$, тян!
URL
Добавить комментарий

Расширенная форма

Подписаться на новые комментарии
Получать уведомления о новых комментариях на E-mail