On Wed, 31 Jan 2001, Daniel A. Koepke wrote: >> Any compiler that has any kind of decent optimization will eliminate >> any efficiency benefit that decalring a variable mid-function has. > >That's a generally false assumption. Any time an expression can have a >side-effect, the compiler cannot reasonably reorder it because it could >break the code following it. If you want variables in the middle of functions, then your functions are too fat. That doesn't include "throw-away" variables like loop iterators. Those we really don't care about beyond one little scope and it's nicer to write: for (int x = 0; ...) { instead of: { int x; for (x = 0; ...) { and it gets the "throw-away" point across better than declaring them with the rest of the variables. >Portability and standards are not one and the same. As a recent entry to the International Obfuscated C Contest wrote: --- 8< --- What it does ------------ This program plots the positions of the four Galilean moons of Jupiter, as seen from earth. It doesn't correct for your location on earth, but I assure you that the parallax is minimal! [...] 6. The code definitely is not portable - it will produce incorrect results if run from the surface of Mars. --- 8< --- :) -- George Greer greerga@circlemud.org -- +---------------------------------------------------------------+ | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html | +---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/03/01 PST