我以前一直认为,二者是一样的,看来不一样。
我想确认一下我的理解对不对?谢谢。
1.在小括号中定义的变量,是在整个for语句中都是可见的。即不仅在小括号可见,同样在花括号中也可见。
2.在花括号定义的变量,只在花括号之间有效。
3.在花括号中定义变量,是没有意义的,是不规范的,应该在小括号中定义变量。
7 个解决方案
#1
1.2.和我的理解相同
3.我的理解是:花括号中定义变量符合语法,也有具体含义,但效率太低
3.我的理解是:花括号中定义变量符合语法,也有具体含义,但效率太低
#2
1.在小括号中定义的变量,是在整个for语句中都是可见的。即不仅在小括号可见,同样在花括号中也可见。
是的
2.在花括号定义的变量,只在花括号之间有效。
是的
3.在花括号中定义变量,是没有意义的,是不规范的,应该在小括号中定义变量。
不是的
另外与那个年代的标准也有关系!
是的
2.在花括号定义的变量,只在花括号之间有效。
是的
3.在花括号中定义变量,是没有意义的,是不规范的,应该在小括号中定义变量。
不是的
另外与那个年代的标准也有关系!
#3
为何效率低呢?请明示一下。
#4
创建……消亡……创建……消亡……创建……消亡……创建……消亡……创建……消亡……
跟
创建……消亡
相比
效率啊……
跟
创建……消亡
相比
效率啊……
#5
在for中定义的如果是int之类的简单类型,基本上编译出来的代码都差不多,编译器会优化的.
#6
主要是看你的程序逻辑。for循环几次,相当于其后就有几个花括号对,每次花括号对自己的数据应该在花括号中定义,大家共用的就在外面定义了。
#7
这个要看编译器吧?
至少VC6.0和VC2005编译同样的代码,for的()里面定义的变量就会出现作用域问题。搞得我现在写代码都是老老实实的在函数最前面定义循环变量……
至少VC6.0和VC2005编译同样的代码,for的()里面定义的变量就会出现作用域问题。搞得我现在写代码都是老老实实的在函数最前面定义循环变量……
#1
1.2.和我的理解相同
3.我的理解是:花括号中定义变量符合语法,也有具体含义,但效率太低
3.我的理解是:花括号中定义变量符合语法,也有具体含义,但效率太低
#2
1.在小括号中定义的变量,是在整个for语句中都是可见的。即不仅在小括号可见,同样在花括号中也可见。
是的
2.在花括号定义的变量,只在花括号之间有效。
是的
3.在花括号中定义变量,是没有意义的,是不规范的,应该在小括号中定义变量。
不是的
另外与那个年代的标准也有关系!
是的
2.在花括号定义的变量,只在花括号之间有效。
是的
3.在花括号中定义变量,是没有意义的,是不规范的,应该在小括号中定义变量。
不是的
另外与那个年代的标准也有关系!
#3
为何效率低呢?请明示一下。
#4
创建……消亡……创建……消亡……创建……消亡……创建……消亡……创建……消亡……
跟
创建……消亡
相比
效率啊……
跟
创建……消亡
相比
效率啊……
#5
在for中定义的如果是int之类的简单类型,基本上编译出来的代码都差不多,编译器会优化的.
#6
主要是看你的程序逻辑。for循环几次,相当于其后就有几个花括号对,每次花括号对自己的数据应该在花括号中定义,大家共用的就在外面定义了。
#7
这个要看编译器吧?
至少VC6.0和VC2005编译同样的代码,for的()里面定义的变量就会出现作用域问题。搞得我现在写代码都是老老实实的在函数最前面定义循环变量……
至少VC6.0和VC2005编译同样的代码,for的()里面定义的变量就会出现作用域问题。搞得我现在写代码都是老老实实的在函数最前面定义循环变量……