Vad är skillnaden mellan dessa syntaxer?
x++ mot ++x
5 svar · 205 visningar · startad av nitro2k01
Om ++ är innan x, sker inkrementeringen innan. Det förstås lättare med ett konkret exempel:
x++:
x = 3;
y = x++;
Nu är x == 4 och y == 3
Inkrementeringen skedde alltså efter tilldelningen till y.
++x:
x = 3;
y = ++x;
Nu är både x och y == 4. Inkrementeringen skedde innan tilldelningen till y.
Re: x++ mot ++x
nitro2k01 skrev:
Vad är skillnaden mellan dessa syntaxer?
båda har ökar värdet med x..
Prefix notation will increment the variable BEFORE the expression is evaluated.
Postfix notation will increment AFTER the expression evaluation.
http://www.phim.unibe.ch/comp_doc/c_manual/C/CONCEPT/inc_dec.html
Re: Re: x++ mot ++x
Fredde Mannen skrev:
båda har ökar värdet med x..
Jodå, så mycket visste jag sen innan. :p
Re: Re: Re: x++ mot ++x
nitro2k01 skrev:
Fredde Mannen skrev:
båda har ökar värdet med x..
Jodå, så mycket visste jag sen innan. :p
Misstänkte det! :OO :P :birp
Det finns även en skillnad i vilken typ uttrycket får:
T tal;
++tal; //Får typen T&
tal++; //Får typen const T