www.digitalmars.com Home | Search | C & C++ | D | DMDScript | News Groups | index | prev | next
Archives

D Programming
D
D.gnu
digitalmars.D
digitalmars.D.bugs
digitalmars.D.dtl
digitalmars.D.dwt
digitalmars.D.announce
digitalmars.D.learn
digitalmars.D.debugger

C/C++ Programming
c++
c++.announce
c++.atl
c++.beta
c++.chat
c++.command-line
c++.dos
c++.dos.16-bits
c++.dos.32-bits
c++.idde
c++.mfc
c++.rtl
c++.stl
c++.stl.hp
c++.stl.port
c++.stl.sgi
c++.stlsoft
c++.windows
c++.windows.16-bits
c++.windows.32-bits
c++.wxwindows

digitalmars.empire
digitalmars.DMDScript

c++ - scope of variable declared in for-loop

↑ ↓ ← "Edward F. Sowell" <sowelled adelphia.net> writes:
What is the current scope of the index declared in for loops in dmc? A
few years ago, it appeared
that SC, as Visual C, did not obey the new scoping rules specified in
the standard.

Specifically, what is the scope of i?

for(int i=0;i<n;i++){

....

}


Ed Sowell
Feb 13 2002
↑ ↓ Jan Knepper <jan smartsoft.cc> writes:
"Edward F. Sowell" wrote:

 What is the current scope of the index declared in for loops in dmc? A
 few years ago, it appeared
 that SC, as Visual C, did not obey the new scoping rules specified in
 the standard.

 Specifically, what is the scope of i?

 for(int i=0;i<n;i++){

 ....

 }

// here the 'i' still exists as far as I know! I am not even sure whether or not this is part of the latest C++ standards. I know there was a lot of discussion about it when it was introduces and I do seem to remember that it was dropped in favor of existing code... Jan
Feb 13 2002
→ "Edward F. Sowell" <sowelled adelphia.net> writes:
Hi Jan,

According to one of the most widely used C++ texts (Deitel& Deitel), it is
the standard.
Nonetheless, MSVC 6.0 does not follow it. Borland and DJGPP does. When I
tested
SC in about 98, it did not, probably following Microsoft's instincts.

I am not a standards guru, so can't say for sure...

Ed Sowell


Jan Knepper wrote:

 "Edward F. Sowell" wrote:

 What is the current scope of the index declared in for loops in dmc? A
 few years ago, it appeared
 that SC, as Visual C, did not obey the new scoping rules specified in
 the standard.

 Specifically, what is the scope of i?

 for(int i=0;i<n;i++){

 ....

 }

// here the 'i' still exists as far as I know! I am not even sure whether or not this is part of the latest C++ standards. I know there was a lot of discussion about it when it was introduces and I do seem to remember that it was dropped in favor of existing code... Jan

Feb 13 2002
Heinz Saathoff <hsaat bre.ipnet.de> writes:
Jan Knepper schrieb...
 "Edward F. Sowell" wrote:
 
 What is the current scope of the index declared in for loops in dmc? A
 few years ago, it appeared
 that SC, as Visual C, did not obey the new scoping rules specified in
 the standard.

 Specifically, what is the scope of i?

 for(int i=0;i<n;i++){

 ....

 }

// here the 'i' still exists as far as I know! I am not even sure whether or not this is part of the latest C++ standards. I know there was a lot of discussion about it when it was introduces and I do seem to remember that it was dropped in favor of existing code...

No, the standard requires 'i' to be in local scope. Existing code could easyly be adapted to this new rule. BTW, I would like to have this in DMC too, could be enabled/disabled by a compiler switch. Regards, Heinz
Feb 14 2002
↑ ↓ → Jan Knepper <jan smartsoft.cc> writes:
 No, the standard requires 'i' to be in local scope. Existing code could
 easyly be adapted to this new rule. BTW, I would like to have this in
 DMC too, could be enabled/disabled by a compiler switch.

Existing code indeed could be easily adopted. Enabling/disabling this is something that Borland C++ and GNU C++ do AFAIK Jan
Feb 14 2002