C++ Variabler Umfang
Da Sie nun verstehen, wie Funktionen funktionieren, ist es wichtig zu lernen, wie Variablen innerhalb und außerhalb von Funktionen wirken.
In C++ ist der Zugriff auf Variablen nur innerhalb der Region möglich, in der sie erstellt wurden. Dies wird als Bereich bezeichnet.
Lokaler Geltungsbereich
Eine innerhalb einer Funktion erstellte Variable gehört zum lokalen Bereich dieser Funktion und kann nur innerhalb dieser Funktion verwendet werden:
Beispiel
void myFunction() {
// Lokale Variable, die zu myFunction gehört
int x = 5;
// Drucken Sie die Variable x
cout << x;
}
int main() {
myFunction();
return 0;
}
Try it Yourself »
Eine lokale Variable kann nicht außerhalb der Funktion verwendet werden, zu der sie gehört.
Wenn Sie versuchen, außerhalb der Funktion darauf zuzugreifen, tritt ein Fehler auf:
Beispiel
void myFunction() {
// Lokale Variable, die zu myFunction gehört
int x = 5;
}
int main() {
myFunction();
// Geben Sie die Variable x in der Hauptfunktion aus
cout << x;
return 0;
}
Try it Yourself »
Globaler Geltungsbereich
Eine außerhalb einer Funktion erstellte Variable wird als globale Variable bezeichnet und gehört zum globalen Gültigkeitsbereich.
Globale Variablen sind in jedem Bereich verfügbar, global und lokal:
Beispiel
Eine außerhalb einer Funktion erstellte Variable ist global und kann daher von jedem verwendet werden:
// Globale Variable x
int x = 5;
void myFunction() {
// Wir können hier x verwenden
cout << x << "\n";
}
int main() {
myFunction();
// Wir können hier auch x verwenden
cout << x;
return 0;
}
Try it Yourself »
Benennen von Variablen
Wenn Sie innerhalb und außerhalb einer Funktion mit demselben Variablennamen arbeiten, behandelt C++ diese als zwei separate Variablen. Eine im globalen Bereich (außerhalb der Funktion) und eine im lokalen Bereich (innerhalb der Funktion) verfügbar:
Beispiel
Die Funktion gibt das lokale x
aus, und dann gibt der Code das globale aus x
:
// Globale Variable x
int x = 5;
void myFunction() {
// Lokale Variable mit demselben Namen wie die globale Variable (x)
int x = 22;
cout << x << "\n"; // Bezieht sich auf die lokale Variable x
}
int main() {
myFunction();
cout << x; // Bezieht sich auf die globale Variable x
return 0;
}
Try it Yourself »
Sie sollten jedoch vermeiden, denselben Variablennamen sowohl für globale als auch für lokale Variablen zu verwenden, da dies zu Fehlern und Verwirrung führen kann.
Im Allgemeinen sollten Sie mit globalen Variablen vorsichtig sein, da auf sie von jeder Funktion aus zugegriffen und diese geändert werden können:
Beispiel
Ändern Sie den Wert von x
von myFunction
:
// Globale Variable x
int x = 5;
void myFunction() {
cout << ++x << "\n"; // Erhöhen Sie den Wert von x um 1 und drucken Sie ihn aus
}
int main() {
myFunction();
cout << x; // Drucken Sie die globale Variable x
return 0;
}
// Der Wert von x beträgt jetzt 6 (nicht mehr 5)
Try it Yourself »
Fazit
Um es zusammenzufassen: Verwenden Sie so oft wie möglich lokale Variablen (mit guten Variablennamen). Dadurch wird Ihr Code einfacher zu warten und besser zu verstehen. Bei der Arbeit an vorhandenen C++-Programmen oder bei der Zusammenarbeit mit anderen können Sie jedoch auf globale Variablen stoßen. Daher ist es gut zu verstehen, wie der Bereich funktioniert und wie man ihn effektiv nutzt, um sicherzustellen, dass Ihr Code klar und funktionsfähig ist.