Cet articlene cite pas suffisamment ses sources().
Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant lesréférences utiles à savérifiabilité et en les liant à la section « Notes et références ».
En pratique :Quelles sources sont attendues ?Comment ajouter mes sources ?Enprogrammationinformatique, unevariable globale est unevariabledéclarée à l'extérieur du corps de toutefonction ouclasse, et pouvant donc être utilisée n'importe où dans leprogramme.On parle également de variable deportée globale.
#include<iostream>intglobal=3;// Une variable globalevoidChangeGlobal(){global=5;// Référence à la variable globale à l'intérieur d'une fonction}intmain(){std::cout<<global<<'\n';// Référence à la variable globale dans une autre fonctionChangeGlobal();std::cout<<global<<'\n';}
La variable étant globale, il n'est pas nécessaire de la passer comme paramètre pour l'utiliser dans les fonctions. La variable globale appartient à toutes les fonctions du programme.
La sortie sera :
35
Les variables globales pouvant être utilisées partout dans un programme sans avoir été transmises préalablement en paramètres de fonction, leur utilisation peut simplifier la conception et l'écriture de programmes.
L'utilisation de ces variables rend plus difficile la compréhension d'un programme ainsi que sondébuggage et sa modification ultérieure.
Lors de la recherche d'erreurs de programmation, lorsqu'une variable globale contient une information erronée, il est plus difficile de trouver la source de l'erreur, car la variable a pu être modifiée dans n'importe quelle partie du programme.
Lors des modifications apportées à un programme, il est complexe de modifier le traitement d'une variable globale parce qu'il faut comprendre tout le programme pour savoir comment la variable était traitée dans le programme originel, étant donné que la variable peut être modifiée depuis n'importe quelle fonction. De plus, elles sont un vecteur defuite de mémoire.
Lors de l'écriture debibliothèques logicielles, les variables globales empêchent laréentrance si elles sont mal utilisées. C'est pourquoi il est recommandé de ne pas les utiliser pour l'écriture de bibliothèques.
Les inconvénients des variables globales étant plus grands que leurs avantages, il est déconseillé d'utiliser ce type de variables dans la conception de programmes, et de leur préférer l'utilisation devariables locales (ou desingletons avecaccesseurs si l'aspect global est impératif).
Certains programmeurs ont recours à ces variables globales pour accélérer les premières phases du développement d'un programme. Ils en paient souvent le prix lorsque vient le temps de corriger leur programme ou de le modifier pour l'adapter aux nouveaux besoins de leur client.
L'environnement de développementGambas (cloneGNU deVisual Basic) n'admet pas de variables globales. Cependant, une variable quelconque déclaréePUBLIC y devient accessible depuis tout le projet.
Leslangages fonctionnels purs, commeHaskell, n'ont pas de variables du tout, et donc n'ont pas de variables globales.
Éléments deprogrammation informatique | |||||||||
---|---|---|---|---|---|---|---|---|---|
Bibliothèque logicielle | |||||||||
Vocabulaire |
| ||||||||
Code source |
| ||||||||
Outil de développement | |||||||||
Folklore | |||||||||
Catégories : |