- 1
++i--;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−276.5
++i--;
Операция "подергивание"
guest 16.01.2009 13:37 # 0
Операция "аккордеон", или кипячение.
guest 16.01.2009 13:46 # 0
жестокий баян с баша
guest 09.04.2010 14:41 # +3
guest 16.01.2009 14:06 # 0
[quote=Говногость]жестокий баян с баша[/quote]
#92952 [ + 845 ? ] [:||||:] утверждена 2007-01-20 в 22:44
guest 18.01.2009 15:19 # 0
ну вообще идея говнокода есть, присваивание пред. значения
j = ++i--;
guest 21.01.2009 23:06 # +6
так лучше
guest 19.02.2009 12:50 # −2
А теперь берешь в руки стандарт и вдумчиво читаешь про sequence points. Твой код невалиден, значение j не определено (зависит от конкретной версии компилятора, и далее от расположения зведз на небосводе).
guest 19.02.2009 12:59 # −1
value, or that designates an object or a function, or that generates side effects, or that performs a combination thereof.
Between the previous and next sequence point an object shall have its stored value
modified at most once by the evaluation of an expression. Furthermore, the prior value
shall be read only to determine the value to be stored.
This paragraph renders undefined statement expressions such as
i = ++i + 1;
a[i++] = i;
while allowing
i = i + 1;
a[i] = i;
Так что результат выражения "--i++;" не определен, и не определено значение i.
foxin 27.04.2012 00:44 # +1
guest 19.03.2009 04:34 # +2
Ну при чём здесь sequence points? Не "результат выражения --i++ не определён", а выражение --i++ синтаксически неверно! Потому что i++ вообще не является lvalue (ни в Си, ни в плюсах, хотя правила там разные). А если компилятор это во что-то компилит, кроме сообщения об ошибке, то это плохой, негодный компилятор.
guest 10.01.2010 18:57 # 0
bormand 04.07.2013 16:11 # 0
В си, емнип, не является. В крестах, емнип, является.
TarasB 04.07.2013 16:12 # 0
bormand 04.07.2013 16:13 # 0
guest 19.03.2010 15:22 # 0
guest 09.04.2010 14:39 # +1.2
_113 04.07.2013 15:17 # 0
bormand 04.07.2013 16:10 # 0
UPD: Хотя на крестах взлетит, но не на си.
guest8 24.09.2019 22:34 # −999