各种不同的编译器对C/C++标准标准支持程度不一样。我们发现Linux上的g++,gcc对标准支持要比VC好。象上面一个回答:
例如win: for(int i=0;i<10;i++)
linux:int i;
for(i=0;i<10;i++)
是不正确的,显然第一个是符合新C++标准的,其实VC6.0的支持要查得多
for(int i = 0; i < 10; ++i)
{
}
i = 10;
这样的语句在VC6中是正确的,但不符合C++标准,因为其中的i作用域只是在for循环内,下面一句的i就没有定义了。即:在新标准中上面的例子是错误的,但VC6中却是正确的。
关于linux的例子,不知道用的gcc, g++是什么年代的版本?
一般说来符合标准的c/c++程序在win和linux上一般都能编译成功,并得到正确结果。
zhang100 于 2008-03-09 00:55:43发表:
for(int i = 0; i < 10; ++i)
{
}
VC里,for语句的初始量(上面的i)可以在括号里初使化?
忘记了,
试试。记得在JAVA里是这样的。