全球大战与本地大战

时间:2011-05-31 20:56:18

标签: variables global-variables local-variables

我有一个不断调用函数的程序。在我的函数中,我使用仅在该函数内部使用的变量。将这些变量设置为全局变得更好“风格”,以便它们不会被创建或更好地将它们放在函数中,因为它们与程序的其余部分无关。

由于

5 个答案:

答案 0 :(得分:2)

你在做什么是正确的。您想要避免全局范围变量。让编译器或解释器处理任何内存使用优化。如果沿着另一条路走下去,你将处于一个受伤的世界。

答案 1 :(得分:1)

标准做法是让变量保持在他们需要的范围内。在您的情况下,这些变量只是本地的,因此声明它们并在本地使用它们。全局变量的逻辑通常用于跨应用程序访问。

答案 2 :(得分:1)

如果你有类和函数,那么绝对最好在函数中有一个局部变量,如果你需要一些变量,那么在同一个对象集私有全局变量中的更多函数中使用它。 尽量不要使用全局公共变量,你永远不知道改变它的人或者是什么。

答案 3 :(得分:1)

我不确定您使用的是哪种语言,但通常最好不要将变量声明为全局变量,如果仅在一种方法中需要它。

这也是更高的内存效率,因为当调用保存它的函数时,变量只会占用内存。

有关为什么应尽可能避免全局变量的更多信息,请查看此link

答案 4 :(得分:0)

分配本地(自动)变量的性能成本实际上是零。这些变量是相对于堆栈指针分配的,并且已经是堆栈帧的一部分。局部变量没有性能损失。

如果您需要一个变量来维持对函数的调用之间的值,只需将其声明为静态局部而不是全局。