我有一个不断调用函数的程序。在我的函数中,我使用仅在该函数内部使用的变量。将这些变量设置为全局变量是否更好,以便它们不会不断被创建,或者更好地将它们放在函数中,因为它们与程序的其余部分无关。
谢谢
我有一个不断调用函数的程序。在我的函数中,我使用仅在该函数内部使用的变量。将这些变量设置为全局变量是否更好,以便它们不会不断被创建,或者更好地将它们放在函数中,因为它们与程序的其余部分无关。
谢谢
你在做什么是正确的。您想避免全局范围变量。让编译器或解释器负责任何内存使用优化。如果你走另一条路,你将进入一个受伤的世界。
标准做法会让您将变量保持在所需的范围内。在您的情况下,这些变量将只是本地的,因此请声明它们并在本地使用它们。全局变量的逻辑通常用于跨应用程序访问。
如果你有类和函数,那么在函数中最好有一个局部变量,如果你需要一些变量,那么在同一个对象集私有全局变量中的更多函数中使用。尽量不要使用全局公共变量,你永远不知道谁或什么会改变它。
我不确定您使用的是什么语言,但通常最好不要将变量声明为全局变量,如果它只需要在一种方法中。
这也更节省内存,因为变量仅在调用保存它的函数时才使用内存。
查看此链接以获取有关为什么应尽可能避免使用全局变量的更多信息。
分配本地(自动)变量的性能成本实际上为零。这些变量是相对于堆栈指针分配的,并且已经是堆栈帧的一部分。局部变量没有性能影响。
如果您需要一个变量来维护对函数的调用之间的值,只需将其声明为静态局部而不是全局。