3 ms·
why?
by wattonen 14y ago
why?
- gamebit07 14y agoPre increment being faster than post increment. Detailed article: http://www.sanity-free.com/145/preincrement_vs_postincrement_operators.html http://www.sanity-free.com/145/preincrement_vs_postincrement...
- nicholassmith 14y agoI like how an off the cuff response to a jokey piece of pseudocode gets decent responses. And people say Hacker News has gone downhill. I like pre-increment due to the speed aspects as well, but it took ages to break out from the university training of "use post-increment for most situations", which is frankly baffling.
- city41 14y agoI've always felt it read better too. I mentally say "increment i" for ++i versus "i increment" for i++.
- spacemanaki 14y agoOk, pardon my ignorance, and I know this is really getting out into the pedantry weeds, but that seems like a slightly bizarre post, at best misleading, at worst even wrong. Why would anyone chose A in that example? Does using pre- and post- increment really result in different behavior for that example in C#? In other words, do these really produce different output: for(int i = 0; i < 5; ++i) { Console.WriteLine(i); } for(int i = 0; i < 5; i++) { Console.WriteLine(i); } Answers to this question on StackOverflow indicate not: http://stackoverflow.com/questions/484462/difference-between-i-and-i-in-a-loop http://stackoverflow.com/questions/484462/difference-between... It seems like the example might have been supposed to be: for(int i = 0; i < 5; ) { Console.WriteLine(i++); } Furthermore, is this even correct: "What is the order of operation? Declare, loop body, compare, increment, loop body, compare, increment, .... " Surely for loops in C# are the same in almost every other language, and the comparison happens once before the body is ever executed? I don't know anything about C#, but I think the suggestion to use one over the other due to performance is pretty poor advice if applied in general. I doubt incrementing an integer is a performance issue in many programs, and if it is you should come to that conclusion after careful profiling. Granted, that post makes the point that based on the C# spec one may be faster than the other, but I still think there are more important things to spend time optimizing.
- randomdata 14y agoThe compiler I am using produces the exact same output for either variation of the aforementioned code. Perhaps it is a good habit to get into if you are jumping between different tools though.
- wattonen 14y agoin this case no matter :)