Click here to Skip to main content
15,910,234 members

The Weird and The Wonderful

   

The Weird and The Wonderful forum is a place to post Coding Horrors, Worst Practices, and the occasional flash of brilliance.

We all come across code that simply boggles the mind. Lazy kludges, embarrassing mistakes, horrid workarounds and developers just not quite getting it. And then somedays we come across - or write - the truly sublime.

Post your Best, your worst, and your most interesting. But please - no programming questions . This forum is purely for amusement and discussions on code snippets. All actual programming questions will be removed.

 
GeneralRe: How to increment a variable Pin
Robert Surtees9-Apr-09 19:56
Robert Surtees9-Apr-09 19:56 
GeneralRe: How to increment a variable Pin
CurtD19-Mar-09 12:59
CurtD19-Mar-09 12:59 
GeneralRe: How to increment a variable Pin
Luc Pattyn19-Mar-09 13:11
sitebuilderLuc Pattyn19-Mar-09 13:11 
GeneralRe: How to increment a variable Pin
supercat919-Mar-09 18:40
supercat919-Mar-09 18:40 
GeneralRe: How to increment a variable Pin
CurtD20-Mar-09 11:50
CurtD20-Mar-09 11:50 
GeneralRe: How to increment a variable Pin
supercat923-Mar-09 5:53
supercat923-Mar-09 5:53 
GeneralRe: How to increment a variable Pin
CurtD23-Mar-09 6:38
CurtD23-Mar-09 6:38 
GeneralRe: How to increment a variable Pin
supercat923-Mar-09 7:22
supercat923-Mar-09 7:22 
CurtD wrote:
This code doesn't "do nothing"


If the variable i is equal to five before the statement, "i = i++;" is executed, would it not be legitimate for the compiler's generated code to read i (five), increment i (yielding and storing six), and then store the read value back to i (setting it back to 5)? If the variable i is not volatile, would not a legitimate optimization thus be to eliminate the statement altogether?

Out of curiosity, I wonder if there are any compilers which do not always update a variable used with a pre-increment before making use of the pre-incremented value? It's possible to contrive examples where the optimal code would in fact use (var+1) in the expression and then later store the incremented value to the variable, but I doubt compilers would find such optimizations.
GeneralRe: How to increment a variable Pin
CurtD23-Mar-09 8:41
CurtD23-Mar-09 8:41 
GeneralRe: How to increment a variable [modified] Pin
CurtD24-Mar-09 8:34
CurtD24-Mar-09 8:34 
GeneralIt's the thought that counts PinPopular
CurtD18-Mar-09 15:07
CurtD18-Mar-09 15:07 
GeneralRe: It's the thought that counts Pin
Michael Bookatz19-Mar-09 7:24
Michael Bookatz19-Mar-09 7:24 
GeneralRe: It's the thought that counts Pin
CurtD19-Mar-09 12:34
CurtD19-Mar-09 12:34 
GeneralRe: It's the thought that counts Pin
Tony Pottier19-Mar-09 23:29
Tony Pottier19-Mar-09 23:29 
GeneralRe: It's the thought that counts Pin
Luc Pattyn19-Mar-09 7:28
sitebuilderLuc Pattyn19-Mar-09 7:28 
GeneralRe: It's the thought that counts Pin
Mycroft Holmes20-Mar-09 0:18
professionalMycroft Holmes20-Mar-09 0:18 
GeneralRe: It's the thought that counts Pin
supercat920-Mar-09 6:30
supercat920-Mar-09 6:30 
GeneralRe: It's the thought that counts Pin
CurtD20-Mar-09 12:03
CurtD20-Mar-09 12:03 
GeneralRe: It's the thought that counts Pin
Thomas Weller23-Mar-09 8:58
Thomas Weller23-Mar-09 8:58 
GeneralRe: It's the thought that counts Pin
CurtD24-Mar-09 8:12
CurtD24-Mar-09 8:12 
GeneralRe: It's the thought that counts Pin
Vikram A Punathambekar6-Apr-09 19:55
Vikram A Punathambekar6-Apr-09 19:55 
GeneralRe: It's the thought that counts Pin
BillW3323-Apr-09 6:47
professionalBillW3323-Apr-09 6:47 
GeneralRe: It's the thought that counts Pin
Megidolaon24-Mar-09 2:11
Megidolaon24-Mar-09 2:11 
GeneralVB Select Case statement incarnation of C# if (true = [condition]) Pin
David St. Hilaire14-Mar-09 6:36
David St. Hilaire14-Mar-09 6:36 
GeneralRe: VB Select Case statement incarnation of C# if (true = [condition]) Pin
Lutosław14-Mar-09 7:42
Lutosław14-Mar-09 7:42 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.