
Andrei
16.04.2016
17:37:18
Да и этот двойной цикл можно переписать через одиночный.
Оптимально по количеству ветвлений.

Ned Ogl
16.04.2016
17:43:48

[Anonymous]
16.04.2016
17:44:26

Google

Ned Ogl
16.04.2016
17:45:16
ни одной строкой больше в итоге
я решил ща погуглить, чем же так плох goto и в чём его обвиняют
помимо нестабильности и сложности и всякое такое
опальный он какой-то

[Anonymous]
16.04.2016
17:46:49

Ned Ogl
16.04.2016
17:46:52
в итоге иногда всё же лучше применять, да
в принципе я своё мнение публично меняю
но! в любом случае любой код нужно снабжать умеренными комментариями. и с ГОТО и без него. порой и без ГОТО чёрт ногу сломит в чьей-либо писанине.
так сломит, что не отдебажить ни вникнуть толком

[Anonymous]
16.04.2016
17:49:12
Goto и его метки всегда надо комментировать

Ned Ogl
16.04.2016
17:49:35
с другой стороны может быть ситуация вроде:
goto lol;
while(1) {
int a = 1;
lol:
++a;
}

[Anonymous]
16.04.2016
17:50:16
Например
...
goto label1; //goes to label1 on line 111
...
label1: //can be accessed from gotos on lines 11 and 34
...

Google

[Anonymous]
16.04.2016
17:50:31

Ned Ogl
16.04.2016
17:51:01

[Anonymous]
16.04.2016
17:51:33

Ned Ogl
16.04.2016
17:51:34
он может попадать в чужие области видимости после настройки переменных в этих областях
или проскакивать инициализаторы какие-нить
и прочее
самое время затестить

[Anonymous]
16.04.2016
17:52:17
Это не C, где он может прыгнуть из функции в функцию

Ned Ogl
16.04.2016
17:52:40
или он это решает?
мол, в большую можно, а в меньшую низя?

[Anonymous]
16.04.2016
17:53:00
Не помню
Давно на шарпе не писал

Ned Ogl
16.04.2016
17:55:21
g++ кинул замечание
то есть даже не предупреждения
мол, скачок crosses initialization
вру
кинул ошибку

Google

[Anonymous]
16.04.2016
17:56:12

Ned Ogl
16.04.2016
17:56:35
правда, с -fpermissive это порешается
более того, прога не падает, если -fpermissive
а вполне стабильно обрабатывает эту канитель
правда вот, если поиграться с динамической памятью, думаю, можно будет поймать крэш
поиграйтесь, короч

Penter
16.04.2016
18:03:52

coda
16.04.2016
18:07:46

Penter
16.04.2016
18:09:02

coda
16.04.2016
18:09:04

Penter
16.04.2016
18:09:19
Ну так она для этого и сделана

Ned Ogl
16.04.2016
18:09:46

Penter
16.04.2016
18:10:27

Ned Ogl
16.04.2016
18:10:35
мне ктКреатор запустил какой-то парень, написавший про goto

Penter
16.04.2016
18:10:42

Andrei
16.04.2016
18:10:45

Penter
16.04.2016
18:10:55
Зачем так?
Форы

Google

Ned Ogl
16.04.2016
18:11:07

Penter
16.04.2016
18:11:16

Ned Ogl
16.04.2016
18:11:17
Форы
затем что мне чуть выше дали пример кода, который надо поправить
оттудова я и плясал

Andrei
16.04.2016
18:13:25
Блин. С планшета неудобно набирать.
Ну не суть в общем. Просто в один фор это пишется.

Admin
ERROR: S client not available

Andrei
16.04.2016
18:13:59
Два индекса
Условие через &&
И инкремент с тернарым оператором.
Или, что то же самое, через внешний for(;;) и внутри просто инкрементить что надо.
Но вообще да, это кажется единственный оправданный вариант использования goto
В MISRA например.
А, ну и да, еще вариант, но плохой: i=10; break;

Alex Фэils?︙
16.04.2016
18:27:04

Ned Ogl
16.04.2016
18:46:28

Andrei
16.04.2016
18:47:35
В c++ тоже есть.

Google

Andrei
16.04.2016
18:47:47
Не не нужно как правило.

Alex Фэils?︙
16.04.2016
18:48:02
Ага
Можно корутины попробовать реализовать на них

Andrei
16.04.2016
18:48:48
Корутины эффективнее делаются по-другому. На всех платформах.
На винде через нейтив файберы
На линуксе ucontext_t
На маке 20 строчками на ассемблере.

Alex Фэils?︙
16.04.2016
18:50:01

Andrei
16.04.2016
18:50:41
Ну вся связка. Convertthreadtofiber и switchfiber

Alex Фэils?︙
16.04.2016
18:50:50
Да, кул вещь

Andrei
16.04.2016
18:50:52
Createnewfiber
Я писал на прошлой работе полноценную кросплатформенную либу для корутин, совмещенных с ядерной io диспетчеризацией.

Alex Фэils?︙
16.04.2016
18:51:41
С помощью SwitchToThread можно классно балансировать нагрузку

Andrei
16.04.2016
18:53:58
Нет, но есть проблема :3
Короче, считай, что да.

Alex Фэils?︙
16.04.2016
18:54:30
надо тоже как упрвжнение написать

Andrei
16.04.2016
18:54:53
Это упражнение заняло около полугода работы.

Alex Фэils?︙
16.04.2016
18:55:07
Ого

Ned Ogl
16.04.2016
18:55:26
а кто мне объяснит, что такое корутин?