Initialisation complexe d'une variable globale ("code static")

Initialisation complexe d'une variable globale ("code static") - C++ - Programmation

Marsh Posté le 31-07-2005 à 14:20:29    

Salut,
Ma question rejoint un peu ce qui a été dit ici mais concerne l'initialisation d'une variable globale (constante d'ailleurs).
Pour info, je suis un Java-teux qui n'a plus refait de C++ depuis un bout de temps donc je ne vois pas de solution à mon problème.
Voici ce que je sais faire :
prog1.h:

Code :
  1. const char tab[3] = {'a', 'b', 'c'};


Si je veux faire la même chose mais pour toutes les lettres sans avoir à taper manuellelement les 26 lettres de l'alphabet, je pensais faire :
prog2.h:

Code :
  1. const char tab[26];
  2. for(char c = 'a'; c <= 'z'; c++) {
  3. tab[c-'a'] = c;
  4. }

(exemple illustratif uniquement ;) )
Mais évidemment ça ne fonctionne pas car je mets du code qui n'est pas dans une fonction...
J'ai aussi essayé :
prog3.h:

Code :
  1. const char tab[26];
  2. {
  3. for(char c = 'a'; c <= 'z'; c++) {
  4.  tab[c-'a'] = c;
  5. }
  6. }


et :
prog4.h:

Code :
  1. const char tab[26];
  2. static {
  3. for(char c = 'a'; c <= 'z'; c++) {
  4.  tab[c-'a'] = c;
  5. }
  6. }


incorrects également...
 
Du coup, je n'arrive pas à voir la bonne solution.
Si quelqu'un a une idée ;)
 
J'espère avoir été clair.
A plus
NeO

Reply

Marsh Posté le 31-07-2005 à 14:20:29   

Reply

Marsh Posté le 31-07-2005 à 14:29:11    

ça peut pas être const dans ton cas ...

Reply

Marsh Posté le 31-07-2005 à 14:31:25    

Ok alors si j'enlève le const (tant pis), je dois faire comment ?

Reply

Marsh Posté le 31-07-2005 à 14:34:32    

commencer à arrêter de faire du java. je vois pas ce que tu fous dans ces .h

Reply

Marsh Posté le 31-07-2005 à 14:52:22    

c'est clair en plus ca sux le java c'est d'une lenteur cette merde
 
en fait j'comprend pas tropce que tu veut faire


Message édité par blastman le 31-07-2005 à 15:03:52

---------------
http://www.blastmanu.info
Reply

Marsh Posté le 31-07-2005 à 15:02:13    

Taz a écrit :

commencer à arrêter de faire du java. je vois pas ce que tu fous dans ces .h


C'est bien dans les .h qu'il faut mettre les constantes non ? (cf prog1.h)
Là, le problème, c'est que ma constante est "compliquée" à initialiser... Peut-être que je devrai en faire une classe...

blastman a écrit :

c'est clair en plus ca sux le java c'est d'une lenteur cette merde


Ce n'est pas la question... Je n'aurai jamais du dire que je faisais plus de Java que de C++ :)

Reply

Marsh Posté le 31-07-2005 à 15:09:30    

ça te sert à quoi d'avoir 1 version de ta constante par unité de traduction, surtout si à chaque fois tu dois faire une grosse initialisation ...

Reply

Marsh Posté le 31-07-2005 à 16:32:36    

blastman a écrit :

c'est clair en plus ca sux le java c'est d'une lenteur cette merde


[:rofl]
 [:kapukapu]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed