Variablenbereiche
Variablensichtbarkeit in C++ bezeichnet den Bereich oder Kontext innerhalb eines Programms, in dem eine bestimmte Variable sichtbar und zugänglich ist. Anders ausgedrückt, definiert sie, wo Sie eine Variable in Ihrem Code verwenden können und bestimmt deren Lebensdauer.
Variablen, die innerhalb einer Funktion deklariert werden, besitzen lokale Sichtbarkeit. Sie sind nur innerhalb der Funktion oder des Codeblocks, in dem sie deklariert wurden, zugänglich. Lokale Variablen werden erstellt, wenn das Programm den Block betritt, in dem sie definiert sind, und werden zerstört, wenn der Block verlassen wird.
Hinweis
In C++ ist ein Codeblock eine Gruppe von Anweisungen, die von geschweiften Klammern
{ }umschlossen sind.
Betrachten Sie das folgende Beispiel:
main.cpp
1234567891011121314#include <iostream> int myFunction() { // Create variable inside the function int localVar = 10; return localVar; } int main() { // Try to access the variable created inside function std::cout << localVar; }
Wir sehen die folgende Fehlermeldung: error: ‘localVar’ was not declared in this scope.
Die Variable localVar wurde innerhalb der Funktion MyFunction() erstellt und nach deren Ausführung zerstört. Daher versuchen wir in der Funktion main(), auf eine nicht existierende Variable zuzugreifen, was zu einem Fehler führt.
Um den Wert von localVar zu verwenden, müssen wir den Rückgabewert einer Funktion einer innerhalb der Funktion main erstellten Variablen zuweisen:
main.cpp
123456789101112131415#include <iostream> int myFunction() { // Create variable inside the function int localVar = 10; return localVar; } int main() { // Assign the result of the function to a new variable int functionResult = myFunction(); std::cout << functionResult; }
Es stellt sich eine völlig logische Frage: Wie kann eine Variable aus einer Funktion zurückgegeben werden, wenn diese Variable nach Abschluss der Funktion zerstört wird?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 5
Variablenbereiche
Swipe um das Menü anzuzeigen
Variablensichtbarkeit in C++ bezeichnet den Bereich oder Kontext innerhalb eines Programms, in dem eine bestimmte Variable sichtbar und zugänglich ist. Anders ausgedrückt, definiert sie, wo Sie eine Variable in Ihrem Code verwenden können und bestimmt deren Lebensdauer.
Variablen, die innerhalb einer Funktion deklariert werden, besitzen lokale Sichtbarkeit. Sie sind nur innerhalb der Funktion oder des Codeblocks, in dem sie deklariert wurden, zugänglich. Lokale Variablen werden erstellt, wenn das Programm den Block betritt, in dem sie definiert sind, und werden zerstört, wenn der Block verlassen wird.
Hinweis
In C++ ist ein Codeblock eine Gruppe von Anweisungen, die von geschweiften Klammern
{ }umschlossen sind.
Betrachten Sie das folgende Beispiel:
main.cpp
1234567891011121314#include <iostream> int myFunction() { // Create variable inside the function int localVar = 10; return localVar; } int main() { // Try to access the variable created inside function std::cout << localVar; }
Wir sehen die folgende Fehlermeldung: error: ‘localVar’ was not declared in this scope.
Die Variable localVar wurde innerhalb der Funktion MyFunction() erstellt und nach deren Ausführung zerstört. Daher versuchen wir in der Funktion main(), auf eine nicht existierende Variable zuzugreifen, was zu einem Fehler führt.
Um den Wert von localVar zu verwenden, müssen wir den Rückgabewert einer Funktion einer innerhalb der Funktion main erstellten Variablen zuweisen:
main.cpp
123456789101112131415#include <iostream> int myFunction() { // Create variable inside the function int localVar = 10; return localVar; } int main() { // Assign the result of the function to a new variable int functionResult = myFunction(); std::cout << functionResult; }
Es stellt sich eine völlig logische Frage: Wie kann eine Variable aus einer Funktion zurückgegeben werden, wenn diese Variable nach Abschluss der Funktion zerstört wird?
Danke für Ihr Feedback!