Maison  >  Article  >  développement back-end  >  Quelle est la différence entre les variables locales et les variables globales d'une fonction C++ ?

Quelle est la différence entre les variables locales et les variables globales d'une fonction C++ ?

WBOY
WBOYoriginal
2024-04-19 15:42:01384parcourir

La différence entre les variables locales et les variables globales en C++ : Visibilité : les variables locales sont limitées à la fonction de définition, tandis que les variables globales sont visibles dans tout le programme. Allocation de mémoire : les variables locales sont allouées sur la pile, tandis que les variables globales sont allouées dans la zone de données globales. Portée : les variables locales se trouvent dans une fonction, tandis que les variables globales se trouvent dans tout le programme. Initialisation : les variables locales sont initialisées lorsqu'une fonction est appelée, tandis que les variables globales sont initialisées au démarrage du programme. Récréation : les variables locales sont recréées à chaque appel de fonction, tandis que les variables globales ne sont créées qu'au démarrage du programme.

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

Variables locales et globales pour les fonctions C++ : grande différence

En C++, il existe des différences importantes entre les variables locales et les variables globales, et comprendre ces différences est crucial pour écrire du code efficace et maintenable.

Les variables locales

  • sont définies dans une fonction et ne sont visibles que dans la portée de la fonction.
  • Créé lorsque la fonction est appelée et détruit au retour de la fonction.
  • Les variables locales sont recréées à chaque fois que la fonction est appelée.

Exemple de code :

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

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

Les variables globales

  • sont définies en dehors de la fonction et sont visibles dans tout le programme.
  • Créé au démarrage du programme et détruit à la fin du programme.
  • Les variables globales sont visibles par toutes les fonctions du programme.

Exemple de code :

int globalVariable = 10; // 全局变量

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

int main() {
    // ... 使用 globalVariable
}

Différences

Caractéristiques Variables locales Variables globales
Visibilité limité à la fonction dans laquelle ils sont définis Tout le programme
Cycle de vie Pendant l'appel de fonction Pendant l'exécution du programme
Allocation de mémoire Sur la pile Dans la zone de données globales
Portée Dans la fonction Dans la programme complet
Initialisé Lorsque la fonction est appelée Au démarrage du programme
Recréer À chaque appel de la fonction Uniquement au démarrage du programme

Cas pratique

Exemple de variables locales

Dans l'exemple suivant In , la variable locale name est utilisée uniquement dans la fonction greet() et est recréée à chaque appel de la fonction : name 仅在 greet() 函数内使用,并且在每次函数被调用时都重新创建:

void greet(std::string name) {
    std::cout << "Hello, " << name << "!" << std::endl;
}

int main() {
    greet("John");
    greet("Mary"); // 局部变量 name 将重新创建
}

举例说明全局变量

在以下示例中,全局变量 g_count

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
}

Exemple de global variables🎜🎜in Dans l'exemple suivant, la variable globale g_count est visible dans tout le programme et est mise à jour à chaque appel de la fonction : 🎜rrreee

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn