Ich habe tatsächlich einige Ergebnisse gesehen, indem ich es getestet habe, aber ich möchte wissen, welcher Weg besser ist und warum.Beeinflusst dies nicht die Effizienz, um eine Funktionsvariable als lokal statt global zu deklarieren?
Frage # 1: Werden lokale Variablen jedes Mal deklariert, wenn ich diese Funktion immer wieder anrufe? Ich weiß, dass es besser ist, Variablen im engsten möglichen Umfang zu deklarieren. Aber ich kann nicht aufhören, darüber nachzudenken, es als globale Variable zu deklarieren und es nur einmal deklarieren zu lassen, nicht in jedem Funktionsaufruf. Oder wird es bei jedem Funktionsaufruf erneut deklariert? Ich weiß, dass der Gültigkeitsbereich einer lokalen Variablen nur diese Funktion ist. Also, wenn es diese Funktion verlässt, muss es diese Variable vergessen, da sie außerhalb ihres Gültigkeitsbereichs liegt, richtig?
Frage # 2: Wenn ich einige Funktionsvariablen habe, die ihren vorherigen Inhalt speichern müssen (zB Timer-Zählervariablen), ist es besser: sie als globale Variable zu deklarieren oder als statisches Local zu deklarieren Variable? Ich brauche sie nicht, um ihre Anfangswerte zu erhalten, wenn ich diese Funktion anrufe, ich setze sie bereits auf Null oder so, wann immer ich es brauche.
** Frage1 **: Was ist das Problem, wenn Platz für Variable Stapel zugewiesen sind jedes Mal, wenn Sie die Funktion aufrufen? ** Frage2 **: Wenn diese Variablen nur im Funktionsumfang verwendet werden, würde ich sie innerhalb des Funktionsumfangs als statisch deklarieren. – LPs
Zeigen Sie Code und Testergebnisse dafür an und erklären Sie, wie Sie sie erhalten haben. Sonst schießt es im Dunkeln. –
Ich meinte, ich habe gesehen, dass beide Wege gut funktionieren und sich als global oder statisch lokal deklarieren. Aber ich wollte wissen, welches besser ist. Wenn Sie ein Testergebnis in Bezug auf die Geschwindigkeit usw. meinten, weiß ich nicht, wie oder wo das zu tun ist. –