|
Bas de page | |
---|---|
Auteur | Sujet : question sur static |
in_your_phion | bonjour, Dans le cas où c'est utilisé dans un bloc de code (hors membre ou fonction de classe), il me semble que c'est une variable qui est initialisée au linkage du programme, soit avant même l'exécution, et que l'adresse est toujours la même. Dans ce cas, il me semble aussi qu'il est possible de changer changer la valeur de cette variable, par exemple :
Or, avec un appel de fonction, ce n'est pas possible, la valeur est toujours la même...Par exemple :
Pourquoi est ce que c'est comme ça ? c'est pourtant là aussi une affectation de valeur ....c'est ça que je ne comprend pas. Par ailleurs, est ce qu'une variable globale est "static" ? dans ce cas est ce que la déclarer en 'static' est redondant ? merci par avance Message cité 1 fois Message édité par in_your_phion le 22-12-2010 à 16:00:05 |
Publicité | Posté le 22-12-2010 à 15:59:42 |
Un Programmeur | Donne un exemple complet, parce que je ne constate pas ce dont tu te plains. --------------- The truth is rarely pure and never simple (Oscar Wilde) |
h3bus Troll Inside |
Message cité 1 fois Message édité par h3bus le 22-12-2010 à 17:18:21 --------------- sheep++ |
Un Programmeur |
--------------- The truth is rarely pure and never simple (Oscar Wilde) |
h3bus Troll Inside |
--------------- sheep++ |
Un Programmeur |
--------------- The truth is rarely pure and never simple (Oscar Wilde) |
h3bus Troll Inside | Bon je suis d'accord c'est exagéré, je dirais simplement que je le déconseille.
--------------- sheep++ |
in_your_phion |
hello, par exemple ce code :
on ne passe qu'une seule fois dans la fonction toto(). Pourquoi ? Message édité par in_your_phion le 28-12-2010 à 12:46:26 |
Tarabiscote | Parce que tu ne modifie pas ta variable val.
|
Publicité | Posté le 28-12-2010 à 13:19:22 |
Un Programmeur | Parce que val est statique donc son initialisation n'est faite qu'au premier passage dans la boucle. Ce qui fait la différence avec ton premier message, c'est que dans celui-là tu avais une initialisation et une assignation. Si tu avais une assignation dans la boucle, elle serait faite pour chaque passage (y compris le premier, donc pour celui-là tu aurais deux appels: un pour initialisation, un pour l'assignation.) --------------- The truth is rarely pure and never simple (Oscar Wilde) |
in_your_phion | ok ... merci pour vos réponses!
|
esox_ch | Voilà exactement. --------------- Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait |
Un Programmeur |
--------------- The truth is rarely pure and never simple (Oscar Wilde) |
esox_ch | Autant pour moi
--------------- Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait |
Un Programmeur | Une variable statique c'est une variable globale. Au démarrage, l'OS va l'initialiser de toute façon (pour éviter de laisser filtrer des informations sur les autres process). A mon avis, c'est donc venu gratuitement sans rien faire de spécial avec la première implémentation et les autres même sans support de l'OS ont suivit parce que c'était utile et utilisé et ça c'est retrouvé dans la norme. --------------- The truth is rarely pure and never simple (Oscar Wilde) |
gilou ModérateurModzilla |
J'ai eu un compilo C qui faisait ce type d'initialisation pour toute variable pas explicitement initialisée à la déclaration. C'était sur une station Dec/Ultrix. C'est trop sécurisant, ça donne de mauvaises habitudes. Je te dis pas la cata le jour ou le code a été recompilé sur station SUN/SUN OS ou il y avait pas ces initialisations par défaut Message cité 1 fois Message édité par gilou le 30-12-2010 à 17:57:39 --------------- There's more than what can be linked! -- Iyashikei Anime Forever! -- AngularJS c'est un framework d'engulé! -- |
sircam I Like Trains |
--------------- Now Playing: {SYNTAX ERROR AT LINE 1210} |
Sujets relatifs | |
---|---|
[Algo C] Question sur calcul b parité | Question sur la généricité |
[RESOLU] vtable error | Question sur WebLogic |
Question con sur une exception dans un constructeur | Question simple : destruction variable automatique |
initialisation static | Jointure SQL petite question |
question sur static et multithread | [JAVA] Question de débutant : notion de "static" |
Plus de sujets relatifs à : question sur static |