`
yiding_he
  • 浏览: 446908 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

关于“不要在循环体内定义变量”

阅读更多
高人来解释一下,为什么有人推荐“不要在循环体内定义变量

这帖子已经这么久了,还没结。

kypfos(不在寻梦) 的回复最能说明问题:循环体外定义变量不会给循环带来任何性能上的提高。如果一定要追究性能的话,在循环体内定义反而更容易让 GC 回收。

kaper3() 的回复同样说明了,即使是 C 语言,也会对这样的情况作“优化”,不存在性能上的区别。

出于在作用域内定义变量的原则,以及考虑代码的可读性,在循环体内定义更加合适。
分享到:
评论

相关推荐

    bat中for循环,实现变量自增的2种方式

    第一种方法适用于不需要在循环体内修改变量的情况,而第二种方法则提供了更大的灵活性,尤其当你需要在循环体内根据条件改变变量时。在实际应用中,可以根据具体需求选择合适的方法。 在提供的"increase"压缩包中,...

    C语言面试题大汇总之华为面试题:1、局部变量能否和全局变量重名;2、如何引用一个已经定义过的全局变量;3、全局变量可不可以定义在可被多个.C文件包含的头文件中 为什么;4、语句for( ;1 ;)有什么问题 它是什么意思……

    在同一个函数内可以定义多个同名的局部变量,每个局部变量的作用域就在那个循环体内。 二、extern关键字 extern关键字用于引用已经定义过的全局变量。如果用引用头文件方式来引用某个在头文件中声明的全局变理,...

    易语言变量循环首命令例程源码

    例如,使用“开始循环”作为循环首命令,用“结束循环”作为循环尾命令,可以在满足一定条件下反复执行循环体内的代码。 下面,我们通过一个简单的例子来展示如何使用变量和循环首命令。假设我们需要计算1到100的...

    易语言变量循环首命令例程源码.7z

    在易语言中,定义变量通常使用“定义”命令,例如“定义 整数 变量名为var”,这里的“var”就是变量名。 循环则是重复执行某段代码的结构,直到满足特定条件为止。易语言提供了多种循环结构,包括“步进循环”、...

    易语言帮助文档例程变量循环首

    "帮助文档例程变量循环首"这个标题表明我们要讨论的是易语言中关于循环结构,特别是变量在循环中的应用。 在编程中,循环是程序控制流程的一种重要方式,它允许代码重复执行一段特定的语句,直到满足某个条件为止。...

    Java非静态成员变量之死循环(详解)

    在Java中,如果我们在一个类中定义了一个非静态成员变量,并且该变量的类型是该类本身,这样就会导致死循环的出现。例如: ```java public class ConstructorCls { private ConstructorCls obj = new ...

    C++循环变量定义生命周期

    这与C++标准的规定不符,标准C++明确指出在for循环内定义的变量只在该循环体内有效。 相比之下,现代的G++(GNU Compiler Collection)和其他遵循C++标准的编译器通常能正确处理这种情况,即循环变量的生命周期确实...

    易语言变量循环首命令例程源码.zip

    在这个源码例程中,我们可能会看到如何定义变量、初始化它们,以及如何在循环结构中使用这些变量进行操作。通过阅读和分析这些例程,我们可以学习到如何在实际项目中有效地运用易语言的变量和循环命令,这对于初学者...

    javascript变量作用域

    JavaScript 还没有块级作用域,这意味着在 if 语句、for 循环、while 循环等语句块中定义的变量,在整个函数体内都是可见的,而不是只在语句块中可见。 在 JavaScript 中,函数中声明的变量在整个函数中都有定义。...

    易语言源码易语言变量循环首命令例程源码.rar

    循环体内,我们可以看到输出变量“i”的值,这将打印1到10的数字序列。 这个压缩包中的“易语言变量循环首命令例程源码”很可能是包含了若干个这样的实例,展示了如何在实际编程中灵活运用变量和循环首命令。通过...

    实验一 条件语句、循环语句的使用 2.switch 条件语句

    最后,循环嵌套是指在一个循环体内包含另一个循环,可以实现更复杂的执行逻辑。例如,你可以使用一个`for`循环来遍历行,然后在每行内部使用一个`while`循环来遍历列,处理二维数据结构。 在提供的`Example12.java`...

    黑马程序员 - Java基础教学 - 03 - 变量的作用域、for循环、break、continue、内存结构

    )**:这种形式的`for`循环没有初始化、条件判断和后置操作,因此除非在循环体内主动退出,否则将一直执行下去。 2. **while(true)**:与`for(;;)`类似,此循环也会一直执行,除非遇到`break`或程序异常终止。 ###...

    循环的应用

    当在循环体内遇到 `continue` 时,程序会跳过本次循环的剩余部分,直接进入下一个迭代。 #### 四、总结 循环是编程中不可或缺的一部分,它帮助我们有效地处理重复性任务。正确理解和灵活运用循环结构,对于编写...

    while循环练习示例

    在实际应用中,我们通常需要在循环体内修改某些变量,确保循环能够在适当的时候停止,避免陷入无限循环。 "while循环练习示例"这个资源提供了一个学习和实践while循环的机会。通过分析和运行其中的代码,我们可以...

    js变量作用域

    这意味着即使在一个`if`语句或循环体内声明的变量,其作用域也将扩展到整个函数内部,而不是仅限于该块语句内。 **示例代码**: ```javascript var foo = "test"; // 全局变量foo if (true) { var foo = "newtest";...

    vb中的循环解释

    - **效率优化**:在编写循环时考虑性能因素,如避免在循环体内进行不必要的计算或查询数据库等操作。 通过以上介绍可以看出,在VB中使用循环能够极大地简化程序逻辑并提高代码的复用性。掌握好这些基本的循环结构...

    vb for 循环语句

    4. **循环体内的操作**: ```vb s = s + i Print s ``` 在每次内层循环中,变量`s`的值会加上当前`i`的值,并打印出结果。这里的`s`变量并未在代码中明确声明和初始化,按照VB的习惯,未声明的变量会被默认视...

    C语言嵌入式典试题全部在这里

    对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内 2、如何引用一个已经定义过的全局变量? 答:extern 可以用...

    易语言计次循环首命令例程源码

    一旦进入循环,程序将依次执行循环体内的语句,直到达到预设的次数为止。例如: ``` .计次循环首 10, i // 初始化循环变量i,从1开始,到10结束 输出 “当前循环次数:” + i .计次循环尾 // 结束循环 ``` 在这个...

Global site tag (gtag.js) - Google Analytics