Variable scope: inside or outside the loop

Reshat Sabiq
Mon Aug 30 16:34:00 GMT 2004

Stylistically i like and usually declare variables inside the loop, when
they are not used outside the loop, and no avoidable malloc overhead is
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.
while(i.hasNext()) {
	MyRef mr = (MyRef);
	// do something with mr
Should this be changed to:
MyRef mr;
while(i.hasNext()) {
	mr = (MyRef);
	// 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?


More information about the Java mailing list