vc++:
int i;
for(int i=0;;);
for(int i=0;;);
vc++的for循环与循环外面被定义为相同的scope,所以上面三行中任意两行组合都是编译不通过的,但是好处就是在for循环的外面可以使用i
c#
每个for循环独立为一个scope
所以可以这样使用
for(int i=0;;);
for(int i=0;;);
但是在c#中,子scope不能和父scope的命名重复而不是c++的子scope覆盖父scope。
注:c++ primer中提到标准c++中for循环是一个独立的scope!完全和vc++不同!