Maison > Article > développement back-end > Quelle est la différence entre les variables locales et les variables globales d'une fonction C++ ?
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.
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.
Exemple de code :
void myFunction() { int localVariable = 5; // 局部变量 // ... 使用 localVariable } int main() { myFunction(); // localVariable 无法访问,因为它不在 main() 函数的范围内 }
Exemple de code :
int globalVariable = 10; // 全局变量 void myFunction() { // ... 使用 globalVariable } int main() { // ... 使用 globalVariable }
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 |
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 : 🎜rrreeeCe 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!