Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Home » Tip Bank » C++
Language: C++
Expertise: Intermediate
Feb 14, 2006

Beware of Using Loop Variables Outside the Loop

People using loop variables in compilers like VC++ 6.0 are acccustomed to using loop variables after the loop. For example, take a look at the following code:

for (int i=0; i<100; i++) 
    // ...

// 'i' used after the loop.
std::cout << i;
This code would happily compile under VC++ 6.0 or lower. But this code is in violation of C++ standards which explicitly state that the scope of the loop control variable i is limited to within the loop, after which it is destroyed.

This rule has been correctly implemented from VC++ 7.0 onwards. It is also correctly implemented in gcc. So if you're migrating a project from VC++ 6.0 to 7.0 or to gcc, this discrepancy will cause compilation errors.

So, avoid using the loop variables outside the loop.

C.V. Ram Narayanan Sastry
Thanks for your registration, follow us on our social networks to keep up-to-date