71 votes

Valeur de variable par défaut

Si je n’attribue pas de valeur à une variable lorsque je la déclare, est-ce que la valeur par défaut est zéro ou simplement ce qui se trouvait auparavant dans la mémoire ?

p. ex.

21voto

Kirill V. Lyadvinsky Points 47627

Ça dépend. S’il s’agit d’une variable locale (un objet avec une durée de stockage automatique), elle ne sera pas initialisée, s’il s’agit d’une variable globale (un objet avec une durée de stockage statique), elle sera initialisée à zéro. Vérifiez également cette réponse.

8voto

James Kanze Points 96599

Cela dépend de la durée de vie de la variable. Les variables avec une durée de vie statique sont toujours initialisées à zéro avant le démarrage du programme : l’initialisation zéro pour les types de base, les s et les pointeurs est la même que si vous lui aviez affecté, convertie de manière appropriée au type. Cela se produit même si la variable a un constructeur, avant que le constructeur ne soit appelé.

6voto

kusma Points 3719

Cela dépend de l’endroit où vous le déclarez. Les variables de l’étendue globale sont initialisées avec 0 et les variables de pile ne sont pas définies.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X