0
What is the effect if i use postfix for updating in loop statement compared to prefix? Is there any difference?
for example, for(i=0 ; i <=20 ; i++) for (i=0 ; i<=20 ; ++i ) is there any difference?
2 Antworten
+ 1
There is a difference, but for primitive types ( like int ) it does not matter as it gets optimized.
But you should avoid postfix because it creates a temp variable so it has to do a copy, for primitive types this is cheap but if you had your own types where copying is expensive this would be slow.
Prefix does not need a temp variable so it avoids the unnecessary copy.
Sure you could use i++ with primitive types and ++i on your own types. But why not just do it the right way and use ++i in both occasions. :)
Here, read this:
https://fairwaytech.com/2012/03/prefix-vs-postfix-increment-and-decrement-operators-in-c/
0
nope, both are same, as there is no assignment