for变量作用域(vc6与vs)
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++)
Clang: C++14, C++11 and C++98 Support in Clang
C++标准历史
发布时间 | 文档 | 通称 | 备注 |
---|---|---|---|
2017 | ISO/IEC 14882:2017[6] | C++17 | 第五个C++标准 |
2017 | ISO/IEC TS 22277:2017[7] | coroutines TS | 协程库扩展 |
2017 | ISO/IEC TS 21425:2017[8] | ranges TS | 提供范围机制 |
2017 | ISO/IEC TS 19568:2017[9] | library fundamentals TS | 标准库扩展 |
2016 | ISO/IEC TS 19571:2016[10] | concurrency TS | 用于并发计算的扩展 |
2015 | ISO/IEC TS 19217:2015[11] | concepts TS | 概念库,用于优化编译期信息 |
2015 | ISO/IEC TS 19841:2015[12] | TM TS | 事务性内存操作 |
2015 | ISO/IEC TS 19570:2015[13] | parallelism TS | 用于并行计算的扩展 |
2015 | ISO/IEC TS 18822:2015[14] | filesystem TS | 文件系统 |
2014 | ISO/IEC 14882:2014[15] | C++14 | 第四个C++标准 |
2011 | ISO/IEC TR 24733:2011[16] | - | 十进制浮点数扩展 |
2011 | ISO/IEC 14882:2011[17] | C++11 | 第三个C++标准 |
2010 | ISO/IEC TR 29124:2010[18] | - | 数学函数扩展 |
2007 | ISO/IEC TR 19768:2007[19] | C++TR1 | C++技术报告:库扩展 |
2006 | ISO/IEC TR 18015:2006[20] | - | C++性能技术报告 |
2003 | ISO/IEC 14882:2003[21] | C++03 | 第二个C++标准 |
1998 | ISO/IEC 14882:1998[22] | C++98 | 第一个C++标准 |