|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() chok thab Inscription : octobre 2010 Messages : 5 ![]() |
Salut ,
Une constante est un identificateur associé à une valeur fixe. Pourquoi on ne déclare pas cette constante comme une variable mais elle ne va être modifiée durant le programme ? |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() Inscription : juin 2008 Messages : 3 697 ![]() |
Une variable permettra aussi de récupérer la valeur de la "constante".
Mais comment indiquer au compilateur d'interdire une mise à jour de la variable? Une constante est un label bien utile pour utiliser un nom/symbole. Le compilateur remplacera le nom par sa valeur. Le code généré disposera de la valeur immédiate plutôt qu'aller la chercher dans la case ou a été stocké la valeur de la variable. C'est une optimisation intéressante de l'utilisation et du CPU et de la bande passante mémoire. - W
__________________
Architectures Post-Modernes |
|
|
00
|
|
|
#3 |
|
Expert Confirmé Sénior
![]() |
Il y a aussi dans certains langages des opérations qui ne sont possibles qu'avec des constantes connues en tant que telles à la compilation. Notamment en C++, la syntaxe switch+case, ou les tableaux "de taille fixe", ou certains usages de la généricité.
__________________
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant. "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?" Apparently everyone. -- Raymond Chen. Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen. |
|
|
00
|
|
|
#4 | |
![]() ![]() R&D en systemes informatiques bas niveau Unix/Linux Inscription : mai 2004 Messages : 7 181 ![]() |
Citation:
Pareil pour les constantes : si tu tentes de l'ecrire, tu auras une erreur a la compilation. Si tu en fais une variable, non. |
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com