OVH Cloud OVH Cloud

membre static dans une fonction

14 réponses
Avatar
Michaël Delva
Bonjour à tous,

j'ai une fonction dans laquelle j'ai ce membre:

int nbre_boutons_joueurs = Box_Joueurs->ControlCount;

qui me donne le nombre de boutons dans un contrôle.

Or, pendant toute l'utilisation du programme, ce nombre ne change pas...

La fonction qui utilise ce membre est appellé assez souvent, et je me
demandais s'il était judicieux (ou bien si c'est comme ça qu'on fait) de
mettre ce membre static, de telle sorte qu'il ne soit calculé qu'une seule
fois lors du premier appel à la fonction...

Vous en pensez quoi?

Merci d'avance

4 réponses

1 2
Avatar
Fabien LE LEZ
On 07 Jul 2004 11:04:06 GMT, "Michaël Delva"
:

Il me reste plus qu'à faire un gros effort là dessus alors... ;-)


Oui.



--
schtroumpf schtroumpf
Jean-Emile de France

Avatar
Michaël Delva
Houlà ! Mauvaise idée AMHA.

Je préfère de loin

int nbre_boutons_joueurs = Box_Joueurs->ControlCount;
int offset = 0;




Et pourquoi ça?

Avatar
Fabien LE LEZ
On 07 Jul 2004 22:09:30 GMT, "Michaël Delva"
:

Et pourquoi ça?


Déclarer deux variables dans la même instruction (e.g. "int x,y;"),
c'est affirmer explicitement que les variables sont indissociables.
Tellement indissociables qu'on finit généralement par les regrouper
dans une classe : "class Point { int x; int y; };", parce que ça
simplifie les choses d'avoir une seule variable de type "Point" que
deux variables indissociables de type "int".



--
schtroumpf schtroumpf
Jean-Emile de France

Avatar
Serge Paccalin
Le jeudi 8 juillet 2004 à 00:26, Fabien LE LEZ a écrit dans
fr.comp.lang.c++ :

On 07 Jul 2004 22:09:30 GMT, "Michaël Delva"
:

Et pourquoi ça?


Déclarer deux variables dans la même instruction (e.g. "int x,y;"),
c'est affirmer explicitement que les variables sont indissociables.
Tellement indissociables qu'on finit généralement par les regrouper
dans une classe : "class Point { int x; int y; };", parce que ça
simplifie les choses d'avoir une seule variable de type "Point" que
deux variables indissociables de type "int".


J'ai le même réflexe, mais avec une justification différente, donc un
regroupement différent. Je ne déclare deux variables sur la même ligne
que si, en plus du même type, elles désignent la même « nature » de
données. Par exemple, un double peut servir à stocker un poids, une
taille, un âge, etc. Je déclarerais un truc de ce genre :

double poids_forme, poids_limite;
double taille, taille_min, taille_max;

mais je ne mélangerais pas. La raison en est que je peux vouloir changer
le type de certaines variables et pas d'autres. Si je change le type
pour un poids -- disons, de double à long double :-( --, il est logique
de changer celui de tous les poids, mais pas celui des tailles.

--
___________ 2004-07-08 08:39:06
_/ _ _`_`_`_) Serge PACCALIN -- sp ad mailclub.net
_L_) Il faut donc que les hommes commencent
-'(__) par n'être pas fanatiques pour mériter
_/___(_) la tolérance. -- Voltaire, 1763


1 2