Ziman
Messages postés245Date d'inscriptiondimanche 27 avril 2003StatutMembreDernière intervention26 septembre 2008
-
19 sept. 2006 à 02:34
Ziman
Messages postés245Date d'inscriptiondimanche 27 avril 2003StatutMembreDernière intervention26 septembre 2008
-
20 sept. 2006 à 21:43
Bonjour,
aujourd'hui, une de mes prof m'a dit que les programmeurs fuyaient les variables globales, mais une question m'est venue à l'esprit.
Imaginons que quand j'appuye sur un bouton, ça initialise un pointeur vers un tableau. Donc on clique sur le bouton et paf on a un tableau. Ensuite, si on clique sur un autre bouton, qui lui, doit effectuer des opérations sur le tableau. Comment je dois faire si je peux pas le déclarer en global ?
WndProc (ma procédure de traitement des message) se terminera après le premier click et lors du deuxième clique ben le tableau n'aura plus sa valeur, je me trompe ?
Je suis un peu paumé sur ce coup là, merci de m'indiquer le chemin :p
BunoCS
Messages postés15472Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention25 mars 2024103 19 sept. 2006 à 16:02
Pardon, pas pigé que tu étais en C. Là, effectivement, les variables globales s'imposent
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 19 sept. 2006 à 09:35
A tes profs toujours répondre "bien sur vous avez toujours raison, etc...".
Ensuite la critique doit réagir (en silence): Aucun tabou ne doit prévaloir, l'informatique n'est ni une religion ni qlq autre obscurantisme. On fait selon le type de prog demandé et exigences du chef si c'est le cas (prof dans ton cas).
Ziman
Messages postés245Date d'inscriptiondimanche 27 avril 2003StatutMembreDernière intervention26 septembre 2008 19 sept. 2006 à 13:08
Oui, je suis d'accord, mais ca ne répond pas à ma question. Les exigences du programmes sont apparemment de ne pas déclarer de variable globale en masse, mais le programme traitant un tableau de mot selon les actions de l'utilisateur, il faut bien que je le déclare global non ? En console je comprendrai que non mais en graphique, ai-je d'autre choix ?
BunoCS
Messages postés15472Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention25 mars 2024103 19 sept. 2006 à 15:49
Bien sûr.
Tu peux le déclarer dans une classe et passer son pointeur à toutes les classes susceptibles de le modifier
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
Vous n’avez pas trouvé la réponse que vous recherchez ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 19 sept. 2006 à 18:01
Elles ne s'imposent pas plus qu'en C++ si tu avais instancié une classe depuis le debut, tu pourrais tout autant faire une alloc sur un pointeur static à la wndproc de la fenetre mère et passer le pointeur à chaque fonction, serait tout simplement aussi inutile qu'une classe mais tout autant faisable. C'est clair qu'une declaration static équivaut à placer la variable au segment .data comme si était mis en variable globale, sera contre productif mais ça fait beau pour certains.
Ziman
Messages postés245Date d'inscriptiondimanche 27 avril 2003StatutMembreDernière intervention26 septembre 2008 20 sept. 2006 à 00:45
BruNews, toi, tu ferais comment ? Une classe static ou tu met des variables globales ? (Juste pour avoir l'avis le plus large possible, comme dirait mon prof de philo ... La vérité n'est que le point commun de l'accumulation du maximum de points de vue différents possibles)
Tu initialises si besoin stNbr dans WM_CREATE et modifies ensuite où tu veux, faudra par contre passer en param aux funcs devant accéder. Prof sera content, c'est déclaré local malgré que le compilo génèrera code strictement identique à global mais avec lenteur du passage de param en plus.
Ziman
Messages postés245Date d'inscriptiondimanche 27 avril 2003StatutMembreDernière intervention26 septembre 2008 20 sept. 2006 à 21:43
ah ben ué, c'est juste, une variable static. Ué mais c'est se gratter pour se faire rire. Je lui ai expliqué l'affaire et elle a dit qu'elle était d'accord pour les variables globales donc ca va.