for变量:写在for循环初始语句中的变量。如:for (int i=1,j=2; i<100; i++)
vc6的for变量 int i 的作用域:
void func(bool condition)
{
if (condition)
{
for(int i=0; i<100; i++)
{
printf("Line: %d\n", i+1);
}
}
}
vs的for变量 int i 的作用域:
void func(bool condition)
{
if (condition)
{
for(int i=0; i<100; i++)
{
printf("Line: %d\n", i+1);
}
}
}
可以在vs中通过如下设置来使用vc6的for变量的作用域(向下兼容)
关于vc6和vs对c++标准的支持
(1)vc6和vs都是完全支持C++03标准的(for变量的作用域在标准里面没有明确,所以vc6和vs实现有差别)
(2)c++11标准,vs从2010版本才开始支持
(3)主流编译器对C++11的支持情况
GCC: C++0x/C++11 Support in GCC
VS2010: C++0x Core Language Features In VC10: The Table
VS2012: C++11 Features (Modern C++)
VS2013: Support For C++11 Features (Modern C++)