This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Variable scope: inside or outside the loop
- From: Reshat Sabiq <sabiq at csociety dot ecn dot purdue dot edu>
- To: java at gcc dot gnu dot org
- Date: Mon, 30 Aug 2004 11:10:18 -0500 (EST)
- Subject: Variable scope: inside or outside the loop
Stylistically i like and usually declare variables inside the loop, when
they are not used outside the loop, and no avoidable malloc overhead is
caused.
However, if the compiler is not smart enough to push and pop only once,
outside the loop, in this case each iteration of the loop will run with
the unnecessary overhead of push and pop.
Example:
while(i.hasNext()) {
MyRef mr = (MyRef)i.next();
// do something with mr
}
Should this be changed to:
MyRef mr;
while(i.hasNext()) {
mr = (MyRef)i.next();
// do something with mr
}
P.S. Does the answer change from Java, to C++, to VC++?
P.P.S. If there is no definitive answer, should the second approach be
used just out of caution?
Thanks,
<rsa/>