- 1
case UP : o > 0 ? o-- : o = FIELD_SIZE - 1; break;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+911
case UP : o > 0 ? o-- : o = FIELD_SIZE - 1; break;
Друг скинул в аську, попросил перевести в if-ную форму)))
Не знаю где он это откопал)))
Говногость 26.04.2010 22:13 # +1
k06a 26.04.2010 22:18 # 0
Друг привод в нормальный вид код из примеров Матлаба))
Хотя хрен знает кто у них там работает)))
Говногость 26.04.2010 22:22 # +1
guest 26.04.2010 22:45 # 0
k06a 26.04.2010 22:53 # 0
Я подумал что этот код эквивалентен:
// case UP : (o > 0 ? o-- : o) = FIELD_SIZE - 1; break;
case UP:
if (o > 0) o--;
o = FIELD_SIZE - 1;
break;
Был не прав.
k06a 26.04.2010 22:55 # 0
Значит у тернарного оператора наименьший приоритет . . .
guest 26.04.2010 23:03 # 0
guest 26.04.2010 23:58 # +2
if(o > 0)
o--;
else
o = FIELD_SIZE - 1;
break;
ну либо
o = o > 0 ?o - 1 : FIELD_SIZE - 1;
k06a 27.04.2010 00:03 # 0
case UP:
if (o > 0) o--;
else o = FIELD_SIZE - 1;
break;
cfdev 27.04.2010 01:27 # −1
но орфомление понравилось, как будто полоса смайлов
а лучше как-то так:
guest 28.04.2010 14:09 # −2
Не вижу говна.
turdman 28.04.2010 17:34 # 0
guest 28.04.2010 20:57 # −2
guest 29.04.2010 09:03 # −2
guest 29.04.2010 10:17 # −2
nil 29.04.2010 23:27 # +1
guest 30.04.2010 12:36 # +1
guest 30.04.2010 12:37 # +1
TarasB 28.04.2010 22:40 # +1
k06a 28.04.2010 23:06 # 0
guest 29.04.2010 16:28 # +1
xaionaro 01.05.2010 11:20 # −1
Вполне читаемый, нормально работающий и вполне оптимальный код...
Знаю, что многие за этот пост начнут минусовать. Но прошу рядом с каждым минусом давать аргументированный ответ.
xXx_totalwar 01.05.2010 12:16 # +1
1.c:
2.c:
ч.т.д.
guest 01.05.2010 12:51 # +2
xaionaro 01.05.2010 21:05 # +1
А во-вторых, что произошло с "set"? Может вы забыли указить "volatile" и у вас тупо код соптимизировался в обоих случаях до программы-пустышки?
И какая у вас версия "gcc", что он воспринял строку "o > 0 ? o-- : o = FIELD_SIZE - 1;"? У меня лично, данная строка воспринимается только в "g++".
cfdev 02.05.2010 01:54 # +1
error: invalid lvalue in assignment
(3.4.5 и 4.4.3)
xXx_totalwar 02.05.2010 05:27 # +1
o > 0 ? o-- : (o = FIELD_SIZE - 1);
но в этом контексте все равно if и тернарный ведут себя одинаково
xaionaro 02.05.2010 10:01 # +1
guest 02.05.2010 23:26 # 0