在大型循环的顶部定义变量是一种好习惯吗?

时间:2016-10-12 22:55:59

标签: c++ performance loops

我一直在想这个。对于在非常大的循环中使用的变量,最好首先在循环顶部(外部)使用虚拟值对其进行初始化,或者应该尽可能在本地声明和初始化它,此时它应该是“#”。在循环中使用?

我问,因为这两个与我的问题相关的帖子似乎给出了相互矛盾的答案: Declare variables at top of function or in separate scopes?
Should we use temporary variables for the returned values of functions?

有人说它应该尽可能在本地声明 - 我假设这意味着变量应该在循环中声明。另一个似乎表明,除非使用其他一些特殊技术,否则大循环中的局部声明会产生较差的性能(我不熟悉本例中最佳答案提供的示例)。

1 个答案:

答案 0 :(得分:1)

我认为它还取决于您环境的背景。你是在谈论上课的任务吗?上交工作项目?个人喜好? 如果这是一个将程序交给其他人的情况,如果有预期的方法可以做到这一点,我就是这样做的。
另一方面是你总是可以在循环之外创建变量,而不是初始化它,直到你进入循环。这样,如果你需要它在循环之外,它就可用了。