Maison > développement back-end > C++ > 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
Libérer: 2024-04-19 15:42:01
original
424 Les gens l'ont consulté

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() 函数的范围内
}
Copier après la connexion

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
}
Copier après la connexion

Différences

CaractéristiquesVariables localesVariables globales
Visibilité limité à la fonction dans laquelle ils sont définis Tout le programme
Cycle de viePendant l'appel de fonctionPendant l'exécution du programme
Allocation de mémoireSur la pileDans la zone de données globales
PortéeDans la fonctionDans la programme complet
InitialiséLorsque la fonction est appeléeAu démarrage du programme
RecréerÀ chaque appel de la fonctionUniquement 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 将重新创建
}
Copier après la connexion

举例说明全局变量

在以下示例中,全局变量 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
}
Copier après la connexion
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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal