Heim > Backend-Entwicklung > C++ > Hauptteil

Was ist der Unterschied zwischen lokalen Variablen und globalen Variablen einer C++-Funktion?

WBOY
Freigeben: 2024-04-19 15:42:01
Original
385 Leute haben es durchsucht

Der Unterschied zwischen lokalen Variablen und globalen Variablen in C++: Sichtbarkeit: Lokale Variablen sind auf die definierende Funktion beschränkt, während globale Variablen im gesamten Programm sichtbar sind. Speicherzuweisung: Lokale Variablen werden auf dem Stapel zugewiesen, während globale Variablen im globalen Datenbereich zugewiesen werden. Geltungsbereich: Lokale Variablen befinden sich innerhalb einer Funktion, während globale Variablen im gesamten Programm vorhanden sind. Initialisierung: Lokale Variablen werden beim Aufruf einer Funktion initialisiert, während globale Variablen beim Programmstart initialisiert werden. Neuerstellung: Lokale Variablen werden bei jedem Funktionsaufruf neu erstellt, während globale Variablen nur beim Programmstart erstellt werden.

C++ 函数的局部变量和全局变量有什么区别?

Lokale und globale Variablen für C++-Funktionen: großer Unterschied

In C++ gibt es wichtige Unterschiede zwischen lokalen Variablen und globalen Variablen, und das Verständnis dieser Unterschiede ist entscheidend für das Schreiben von effizientem, wartbarem Code.

Lokale Variablen

  • werden innerhalb einer Funktion definiert und sind nur innerhalb des Funktionsumfangs sichtbar.
  • Erstellt, wenn die Funktion aufgerufen wird, und zerstört, wenn die Funktion zurückkehrt.
  • Lokale Variablen werden bei jedem Aufruf der Funktion neu erstellt.

Beispielcode:

void myFunction() {
    int localVariable = 5; // 局部变量
    // ... 使用 localVariable
}

int main() {
    myFunction();
    // localVariable 无法访问,因为它不在 main() 函数的范围内
}
Nach dem Login kopieren

Globale Variablen

  • werden außerhalb der Funktion definiert und sind im gesamten Programm sichtbar.
  • Erstellt, wenn das Programm startet, und zerstört, wenn das Programm beendet wird.
  • Globale Variablen sind für alle Funktionen im Programm sichtbar.

Beispielcode:

int globalVariable = 10; // 全局变量

void myFunction() {
    // ... 使用 globalVariable
}

int main() {
    // ... 使用 globalVariable
}
Nach dem Login kopieren

Unterschiede

Lebenszyklus das gesamte Programm InitialisiertWenn die Funktion aufgerufen wirdWenn das Programm startetNeu erstellenJedes Mal, wenn die Funktion aufgerufen wirdNur wenn das Programm startetIm folgenden Beispiel In wird die lokale Variable name nur innerhalb der Funktion greet() verwendet und bei jedem Aufruf der Funktion neu erstellt:
void greet(std::string name) {
    std::cout << "Hello, " << name << "!" << std::endl;
}

int main() {
    greet("John");
    greet("Mary"); // 局部变量 name 将重新创建
}
Nach dem Login kopieren
int g_count = 0; // 全局变量

void incrementCount() {
    g_count++;
}

int main() {
    incrementCount();
    std::cout << "Count: " << g_count << std::endl; // 输出 1

    incrementCount();
    std::cout << "Count: " << g_count << std::endl; // 输出 2
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen lokalen Variablen und globalen Variablen einer C++-Funktion?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
FunktionenLokale VariablenGlobale Variablen
Sichtbarkeit beschränkt auf die Funktion, in der sie definiert sind Das gesamte Programm
Praktisch. FallBeispiel lokale Variablen
Beispiel für global Variablenin Im folgenden Beispiel ist die globale Variable g_count programmweit sichtbar und wird bei jedem Aufruf der Funktion aktualisiert: