我一直想知道,一般来说,在循环之前声明一个丢弃变量,而不是在循环内部重复声明,是否会产生任何(性能)差异?
Java中的一个(毫无意义)示例:
a)循环前声明:
双中间结果;
对于(int i=0;i<;1000;i++){
中间结果=i;
系统输出打印项次(中间结果);
}
b)循环内的声明(重复):
用于(int i=0;i<;1000;i++){
双中间结果=i;
系统输出打印项次(中间结果);
}
哪个更好,a还是b
我怀疑重复的变量声明(例如b)在理论上会产生更多的开销,但编译器足够聪明,所以这并不重要。示例b的优点是更紧凑,并且将变量的范围限制在使用它的地方。尽管如此,我还是倾向于根据示例a编写代码
编辑:我对Java案例特别感兴趣
a和b哪个更好
从性能的角度来看,您必须对其进行测量。(在我看来,如果你能测量一个差异,编译器就不是很好)
从维护角度来看,b更好。在尽可能狭窄的范围内,在同一位置声明和初始化变量。不要在声明和初始化之间留下缺口,也不要污染不需要的名称空间